diff options
Diffstat (limited to 'doc/html/boost/proto')
349 files changed, 26152 insertions, 0 deletions
diff --git a/doc/html/boost/proto/N.html b/doc/html/boost/proto/N.html new file mode 100755 index 0000000000..98cce9e288 --- /dev/null +++ b/doc/html/boost/proto/N.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Global N</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp" title="Header <boost/proto/proto_fwd.hpp>"> +<link rel="prev" href="callable.html" title="Struct callable"> +<link rel="next" href="../../BOOST_PROTO_MAX_ARITY.html" title="Macro BOOST_PROTO_MAX_ARITY"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../../proto/reference.html#header.boost.proto.proto_fwd_hpp"><img src="../../../../doc/src/images/up.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_PROTO_MAX_ARITY.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.N"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Global N</span></h2> +<p>boost::proto::N</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp" title="Header <boost/proto/proto_fwd.hpp>">boost/proto/proto_fwd.hpp</a>> + +</span><span class="keyword">int</span> <span class="keyword">const</span> N<span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2787150"></a><h2>Description</h2> +<p>Array size wildcard for Proto grammars that match array terminals.</p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../../proto/reference.html#header.boost.proto.proto_fwd_hpp"><img src="../../../../doc/src/images/up.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_PROTO_MAX_ARITY.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_.html b/doc/html/boost/proto/_.html new file mode 100755 index 0000000000..df261a266e --- /dev/null +++ b/doc/html/boost/proto/_.html @@ -0,0 +1,106 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="unpack_expr_id1504094.html" title="Function unpack_expr"> +<link rel="next" href="_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unpack_expr_id1504094.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _</span></h2> +<p>boost::proto::_ — A wildcard grammar element that matches any expression, and a transform that returns + the current expression unchanged.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_.html" title="Struct _">_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><_> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">_</span> <a name="boost.proto._.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="_/impl.html#boost.proto._.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_/impl.html#id1504602-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="_/impl.html#id1504607-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2757708"></a><h2>Description</h2> +<p> + The wildcard type, <code class="computeroutput">proto::_</code>, is a grammar element such + that <code class="computeroutput"><a class="link" href="matches.html" title="Struct template matches">proto::matches</a><E, proto::_>::value</code> + is <code class="computeroutput">true</code> for any expression type <code class="computeroutput">E</code>. + </p> +<p> + The wildcard can also be used as a stand-in for a template argument when matching terminals. + For instance, the following is a grammar that will match any + <code class="computeroutput">std::complex<></code> terminal:</p> +<pre class="programlisting"><span class="identifier">BOOST_MPL_ASSERT</span><span class="special">(</span><span class="special">(</span> + <a class="link" href="matches.html" title="Struct template matches">proto::matches</a><span class="special"><</span> + <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="bold"><strong><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span> <span class="special">></span> <span class="special">></span></strong></span> + <span class="special">></span> +<span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +<p> + When used as a transform, <code class="computeroutput">proto::_</code> returns the current expression + unchanged. For instance, in the following, <code class="computeroutput">proto::_</code> is used with + the <code class="computeroutput"><a class="link" href="fold.html" title="Struct template fold">proto::fold<></a></code> + transform to fold the children of a node:</p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">CountChildren</span> <span class="special">:</span> + <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> + <span class="comment">// Terminals have no children</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">></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">0</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">></span><span class="special">,</span> + <span class="comment">// Use proto::fold<> to count the children of non-terminals</span> + <a class="link" href="otherwise.html" title="Struct template otherwise">proto::otherwise</a><span class="special"><</span> + <a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="comment">// <-- fold the current expression</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">,</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">plus</span><span class="special"><</span><a class="link" href="_state.html" title="Struct _state">proto::_state</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">1</span><span class="special">></span> <span class="special">></span><span class="special">(</span><span class="special">)</span> + <span class="special">></span> + <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unpack_expr_id1504094.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_/impl.html b/doc/html/boost/proto/_/impl.html new file mode 100755 index 0000000000..ad6a2aeb60 --- /dev/null +++ b/doc/html/boost/proto/_/impl.html @@ -0,0 +1,90 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_.html#id2757708" title="Description"> +<link rel="prev" href="../_.html" title="Struct _"> +<link rel="next" href="../not_.html" title="Struct template not_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_.html#id2757708"><img src="../../../../../doc/src/images/up.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_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto._.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1504602-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="impl.html#id1504607-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2758556"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2758559"></a><h3> +<a name="id1504602-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Expr</span> <a name="id1504607-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>An expression </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">expr</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_.html#id2757708"><img src="../../../../../doc/src/images/up.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_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byref.html b/doc/html/boost/proto/_byref.html new file mode 100755 index 0000000000..4da6d6b9c7 --- /dev/null +++ b/doc/html/boost/proto/_byref.html @@ -0,0 +1,125 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _byref</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_void/impl.html" title="Struct template impl"> +<link rel="next" href="_byref/result_This_T____id1529634.html" title="Struct template result<This(T &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_void/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_byref/result_This_T____id1529634.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byref"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _byref</span></h2> +<p>boost::proto::_byref — A unary callable <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that wraps its argument + in a <code class="computeroutput">boost::reference_wrapper<></code>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_byref.html" title="Struct _byref">_byref</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_byref/result_This_T____id1529634.html" title="Struct template result<This(T &)>">result</a><span class="special"><</span><span class="identifier">This</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> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="keyword">const</span> <a class="link" href="_byref/result_This_T____id1529634.html#boost.proto._byref.result_This(T_&)_id1529634.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_byref/result_This_T__id1529671.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span> <span class="keyword">const</span> <a class="link" href="_byref/result_This_T__id1529671.html#boost.proto._byref.result_This(T)_id1529671.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="_byref.html#id1529707-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="keyword">const</span> <a class="link" href="_byref.html#id1529712-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span> <span class="keyword">const</span> <a class="link" href="_byref.html#id1529785-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2854148"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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="special">></span> <span class="identifier">j</span> + <span class="special">=</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_byref</span><span class="special">(</span><span class="identifier">_</span><span class="special">)</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">j</span><span class="special">.</span><span class="identifier">get</span><span class="special">(</span><span class="special">)</span><span class="special">)</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +<div class="refsect2"> +<a name="id2854455"></a><h3> +<a name="id1529707-bb"></a><code class="computeroutput">_byref</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="keyword">const</span> <a name="id1529712-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Wrap the parameter <code class="computeroutput">t</code> in a + <code class="computeroutput">boost::reference_wrapper<></code> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">boost::ref(t)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span> <span class="keyword">const</span> <a name="id1529785-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_void/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_byref/result_This_T____id1529634.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byref/result_This_T____id1529634.html b/doc/html/boost/proto/_byref/result_This_T____id1529634.html new file mode 100755 index 0000000000..451c47a12c --- /dev/null +++ b/doc/html/boost/proto/_byref/result_This_T____id1529634.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T &)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_byref.html#id2854148" title="Description"> +<link rel="prev" href="../_byref.html" title="Struct _byref"> +<link rel="next" href="result_This_T__id1529671.html" title="Struct template result<This(T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_byref.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byref.html#id2854148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T__id1529671.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byref.result_This(T_&)_id1529634"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T &)></span></h2> +<p>boost::proto::_byref::result<This(T &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T____id1529634.html" title="Struct template result<This(T &)>">result</a><span class="special"><</span><span class="identifier">This</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> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="keyword">const</span> <a name="boost.proto._byref.result_This(T_&)_id1529634.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_byref.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byref.html#id2854148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T__id1529671.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byref/result_This_T__id1529671.html b/doc/html/boost/proto/_byref/result_This_T__id1529671.html new file mode 100755 index 0000000000..014030e626 --- /dev/null +++ b/doc/html/boost/proto/_byref/result_This_T__id1529671.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_byref.html#id2854148" title="Description"> +<link rel="prev" href="result_This_T____id1529634.html" title="Struct template result<This(T &)>"> +<link rel="next" href="../_byval.html" title="Struct _byval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_T____id1529634.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byref.html#id2854148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_byval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byref.result_This(T)_id1529671"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T)></span></h2> +<p>boost::proto::_byref::result<This(T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T__id1529671.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span> <span class="keyword">const</span> <a name="boost.proto._byref.result_This(T)_id1529671.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_T____id1529634.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byref.html#id2854148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_byval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byval.html b/doc/html/boost/proto/_byval.html new file mode 100755 index 0000000000..34638ffa26 --- /dev/null +++ b/doc/html/boost/proto/_byval.html @@ -0,0 +1,122 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _byval</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_byref/result_This_T__id1529671.html" title="Struct template result<This(T)>"> +<link rel="next" href="_byval/result_This_boost_refer_id1529876.html" title="Struct template result<This(boost::reference_wrapper< T >)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_byref/result_This_T__id1529671.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_byval/result_This_boost_refer_id1529876.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _byval</span></h2> +<p>boost::proto::_byval — + A unary callable <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that strips references and + <code class="computeroutput">boost::reference_wrapper<></code> from its argument. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_byval.html" title="Struct _byval">_byval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_byval/result_This_boost_refer_id1529876.html" title="Struct template result<This(boost::reference_wrapper< T >)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</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> <span class="keyword"></span> <span class="identifier">result</span><span class="special"><</span><span class="identifier">This</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><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_byval/result_This_T____id1529906.html" title="Struct template result<This(T &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> <span class="identifier">result</span><span class="special"><</span><span class="identifier">This</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><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_byval/result_This_T__id1529936.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">T</span> <a class="link" href="_byval/result_This_T__id1529936.html#boost.proto._byval.result_This(T)_id1529936.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="_byval.html#id1529972-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">T</span> <a class="link" href="_byval.html#id1529977-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">T</span> <a class="link" href="_byval.html#id1530033-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</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="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2855852"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<span class="keyword">int</span> <span class="identifier">j</span> <span class="special">=</span> <span class="number">67</span><span class="special">;</span> +<span class="keyword">int</span> <span class="identifier">k</span> <span class="special">=</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_byval</span><span class="special">(</span><a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">)</span><span class="special">></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">boost</span><span class="special">::</span><span class="identifier">ref</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">assert</span><span class="special">(</span> <span class="number">67</span> <span class="special">==</span> <span class="identifier">k</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +<div class="refsect2"> +<a name="id2856112"></a><h3> +<a name="id1529972-bb"></a><code class="computeroutput">_byval</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">T</span> <a name="id1529977-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to unref </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">t</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">T</span> <a name="id1530033-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_byref/result_This_T__id1529671.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_byval/result_This_boost_refer_id1529876.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byval/result_This_T____id1529906.html b/doc/html/boost/proto/_byval/result_This_T____id1529906.html new file mode 100755 index 0000000000..45c025d7ce --- /dev/null +++ b/doc/html/boost/proto/_byval/result_This_T____id1529906.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T &)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_byval.html#id2855852" title="Description"> +<link rel="prev" href="result_This_boost_refer_id1529876.html" title="Struct template result<This(boost::reference_wrapper< T >)>"> +<link rel="next" href="result_This_T__id1529936.html" title="Struct template result<This(T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_boost_refer_id1529876.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T__id1529936.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byval.result_This(T_&)_id1529906"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T &)></span></h2> +<p>boost::proto::_byval::result<This(T &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T____id1529906.html" title="Struct template result<This(T &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> <span class="identifier">result</span><span class="special"><</span><span class="identifier">This</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><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_boost_refer_id1529876.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T__id1529936.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byval/result_This_T__id1529936.html b/doc/html/boost/proto/_byval/result_This_T__id1529936.html new file mode 100755 index 0000000000..7d863e6f13 --- /dev/null +++ b/doc/html/boost/proto/_byval/result_This_T__id1529936.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_byval.html#id2855852" title="Description"> +<link rel="prev" href="result_This_T____id1529906.html" title="Struct template result<This(T &)>"> +<link rel="next" href="../call.html" title="Struct template call"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_T____id1529906.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../call.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byval.result_This(T)_id1529936"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T)></span></h2> +<p>boost::proto::_byval::result<This(T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T__id1529936.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">T</span> <a name="boost.proto._byval.result_This(T)_id1529936.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_T____id1529906.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../call.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_byval/result_This_boost_refer_id1529876.html b/doc/html/boost/proto/_byval/result_This_boost_refer_id1529876.html new file mode 100755 index 0000000000..6dbc4dd3ab --- /dev/null +++ b/doc/html/boost/proto/_byval/result_This_boost_refer_id1529876.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(boost::reference_wrapper< T >)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_byval.html#id2855852" title="Description"> +<link rel="prev" href="../_byval.html" title="Struct _byval"> +<link rel="next" href="result_This_T____id1529906.html" title="Struct template result<This(T &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_byval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T____id1529906.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._byval.result_This(boost_refer_id1529876"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(boost::reference_wrapper< T >)></span></h2> +<p>boost::proto::_byval::result<This(boost::reference_wrapper< T >)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_boost_refer_id1529876.html" title="Struct template result<This(boost::reference_wrapper< T >)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</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> <span class="keyword"></span> <span class="identifier">result</span><span class="special"><</span><span class="identifier">This</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><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_byval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_byval.html#id2855852"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_T____id1529906.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_child_c.html b/doc/html/boost/proto/_child_c.html new file mode 100755 index 0000000000..5435c677ae --- /dev/null +++ b/doc/html/boost/proto/_child_c.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template _child_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_data/impl.html" title="Struct template impl"> +<link rel="next" href="_child_c/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_data/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_child_c/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._child_c"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template _child_c</span></h2> +<p>boost::proto::_child_c — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns N-th child of the current expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> N<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="_child_c.html" title="Struct template _child_c">_child_c</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_child_c</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_child_c/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="_child_c/impl.html#boost.proto._child_c.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_child_c/impl.html#id1529166-bb">public member functions</a></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="_child_c/impl.html#id1529171-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2850495"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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="special">&</span> <span class="identifier">j</span> <span class="special">=</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_child_c</span><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="special">-</span><span class="identifier">i</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">j</span><span class="special">)</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_data/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_child_c/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_child_c/impl.html b/doc/html/boost/proto/_child_c/impl.html new file mode 100755 index 0000000000..96c27ca69f --- /dev/null +++ b/doc/html/boost/proto/_child_c/impl.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_child_c.html#id2850495" title="Description"> +<link rel="prev" href="../_child_c.html" title="Struct template _child_c"> +<link rel="next" href="../_value.html" title="Struct _value"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_child_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_child_c.html#id2850495"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._child_c.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_child_c::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto._child_c.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1529166-bb">public member functions</a></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="impl.html#id1529171-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2851145"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2851149"></a><h3> +<a name="id1529166-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> +<a name="id1529171-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns the N-th child of <code class="computeroutput">expr</code> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput">Expr::proto_arity::value > N</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><N>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_child_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_child_c.html#id2850495"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_data.html b/doc/html/boost/proto/_data.html new file mode 100755 index 0000000000..c51355151a --- /dev/null +++ b/doc/html/boost/proto/_data.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_state/impl.html" title="Struct template impl"> +<link rel="next" href="_data/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_state/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_data/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._data"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _data</span></h2> +<p>boost::proto::_data — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the current data unmodified. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_data.html" title="Struct _data">_data</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_data/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Data</span> <a class="link" href="_data/impl.html#boost.proto._data.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_data/impl.html#id1528984-bb">public member functions</a></span> + <span class="identifier">Data</span> <a class="link" href="_data/impl.html#id1528989-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2849240"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</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="identifier">str</span><span class="special">(</span><span class="string">"hello"</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">data</span> <span class="special">=</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_data</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="identifier">str</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="special">&</span><span class="identifier">str</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">data</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_state/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_data/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_data/impl.html b/doc/html/boost/proto/_data/impl.html new file mode 100755 index 0000000000..adf50b9e20 --- /dev/null +++ b/doc/html/boost/proto/_data/impl.html @@ -0,0 +1,97 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_data.html#id2849240" title="Description"> +<link rel="prev" href="../_data.html" title="Struct _data"> +<link rel="next" href="../_child_c.html" title="Struct template _child_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="../_data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_data.html#id2849240"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_child_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._data.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_data::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Data</span> <a name="boost.proto._data.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1528984-bb">public member functions</a></span> + <span class="identifier">Data</span> <a class="link" href="impl.html#id1528989-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2849796"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2849800"></a><h3> +<a name="id1528984-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Data</span> <a name="id1528989-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns the current data. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>The current data. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">data</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_data.html#id2849240"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_child_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_default.html b/doc/html/boost/proto/_default.html new file mode 100755 index 0000000000..e7d548dd90 --- /dev/null +++ b/doc/html/boost/proto/_default.html @@ -0,0 +1,83 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template _default</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.default_hpp" title="Header <boost/proto/transform/default.hpp>"> +<link rel="prev" href="call/impl.html" title="Struct template impl"> +<link rel="next" href="_default/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="call/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.default_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_default/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._default"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template _default</span></h2> +<p>boost::proto::_default — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that gives expressions their + usual C++ behavior</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.default_hpp" title="Header <boost/proto/transform/default.hpp>">boost/proto/transform/default.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar <span class="special">=</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="_default.html" title="Struct template _default">_default</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_default</span><span class="special"><</span><span class="identifier">Grammar</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_default/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="_default/impl.html#boost.proto._default.impltypes">types</a></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">tag_type</span> <a class="link" href="_default/impl.html#boost.proto._default.impl.Tag"><span class="identifier">Tag</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="_default/impl.html#boost.proto._default.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_default/impl.html#id1531325-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="_default/impl.html#id1531329-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="keyword">static</span> <span class="identifier">Expr</span> <span class="identifier">s_expr</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">static</span> <span class="identifier">State</span> <span class="identifier">s_state</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">static</span> <span class="identifier">Data</span> <span class="identifier">s_data</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2860516"></a><h2>Description</h2> +<p> + For the complete description of the behavior of the <code class="computeroutput">proto::_default</code> + transform, see the documentation for the nested <code class="computeroutput"> + <a class="link" href="_default/impl.html" title="Struct template impl">proto::_default::impl<></a> + </code> class template. + </p> +<p> + When used without specifying a <code class="computeroutput">Grammar</code> parameter, + <code class="computeroutput">proto::_default</code> behaves as if the parameter were + <code class="computeroutput">proto::_default<></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="call/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.default_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_default/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_default/impl.html b/doc/html/boost/proto/_default/impl.html new file mode 100755 index 0000000000..b596f05152 --- /dev/null +++ b/doc/html/boost/proto/_default/impl.html @@ -0,0 +1,251 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_default.html#id2860516" title="Description"> +<link rel="prev" href="../_default.html" title="Struct template _default"> +<link rel="next" href="../fold.html" title="Struct template 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="../_default.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_default.html#id2860516"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fold.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._default.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_default::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.default_hpp" title="Header <boost/proto/transform/default.hpp>">boost/proto/transform/default.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="impl.html#boost.proto._default.impltypes">types</a></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">tag_type</span> <a name="boost.proto._default.impl.Tag"></a><span class="identifier">Tag</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="impl.html#boost.proto._default.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1531325-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1531329-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="keyword">static</span> <span class="identifier">Expr</span> <span class="identifier">s_expr</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">static</span> <span class="identifier">State</span> <span class="identifier">s_state</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">static</span> <span class="identifier">Data</span> <span class="identifier">s_data</span><span class="special">;</span> <span class="comment">// For exposition only</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2860997"></a><h2>Description</h2> +<p> + Let <code class="computeroutput"><code class="computeroutput">OP</code></code> be the C++ operator + corresponding to <code class="computeroutput">Expr::proto_tag</code>. (For example, if + <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/plus.html" title="Struct plus">proto::tag::plus</a></code>, let <code class="computeroutput"> + <code class="computeroutput">OP</code></code> be <code class="computeroutput">+</code>.) + </p> +<p> + The behavior of this class is specified in terms of the C++0x <code class="computeroutput">decltype</code> + keyword. In systems where this keyword is not available, Proto uses the Boost.Typeof library to + approximate the behavior. + </p> +<div class="refsect2"> +<a name="id2861068"></a><h3> +<a name="boost.proto._default.impltypes"></a><code class="computeroutput">impl</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a name="boost.proto._default.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span></p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary prefix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">OP</span> <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary postfix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="identifier">OP</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a binary infix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="identifier">OP</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/subscript.html" title="Struct subscript">proto::tag::subscript</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">[</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">]</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">?</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">1</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">:</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">2</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/function.html" title="Struct function">proto::tag::function</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">(</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">1</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span><span class="special">,</span> + <span class="special">...</span> + <span class="identifier">Grammar</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_state</span><span class="special">,</span> <span class="identifier">s_data</span><span class="special">)</span> <span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +</ul></div> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2862238"></a><h3> +<a name="id1531325-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1531329-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../_default.html" title="Struct template _default">proto::_default</a></code><Grammar>::impl<Expr, State, Data>::operator() + </code><div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary prefix operator, + then return + </p> +<pre class="programlisting">OP Grammar()(<code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a></code>(expr), state, data)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary postfix operator, + then return + </p> +<pre class="programlisting">Grammar()(<code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a></code>(expr), state, data) OP</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a binary infix operator, + then return + </p> +<pre class="programlisting">Grammar()(<code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a></code>(expr), state, data) OP +Grammar()(<code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a></code>(expr), state, data)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/subscript.html" title="Struct subscript">proto::tag::subscript</a></code> + </code>, + then return + </p> +<pre class="programlisting">Grammar()(<code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a></code>(expr), state, data) [ +Grammar()(<code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a></code>(expr), state, data) ]</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a></code> + </code>, + then return + </p> +<pre class="programlisting">Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><0>(expr), state, data) ? +Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><1>(expr), state, data) : +Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><2>(expr), state, data)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/function.html" title="Struct function">proto::tag::function</a></code> + </code>, + then return + </p> +<pre class="programlisting">Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><0>(expr), state, data) ( +Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><1>(expr), state, data), +... +Grammar()(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><N>(expr), state, data) )</pre> +<p> + </p> +</li> +</ul></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_default.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_default.html#id2860516"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fold.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_expr.html b/doc/html/boost/proto/_expr.html new file mode 100755 index 0000000000..684d69208b --- /dev/null +++ b/doc/html/boost/proto/_expr.html @@ -0,0 +1,72 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="right_id1528399.html" title="Function right"> +<link rel="next" href="_expr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="right_id1528399.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _expr</span></h2> +<p>boost::proto::_expr — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the current expression unmodified. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_expr.html" title="Struct _expr">_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_expr</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_expr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="_expr/impl.html#boost.proto._expr.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_expr/impl.html#id1528662-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="_expr/impl.html#id1528667-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2846770"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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="special">&</span> <span class="identifier">j</span> <span class="special">=</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_expr</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span><span class="special">(</span><span class="identifier">j</span><span class="special">)</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="right_id1528399.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_expr/impl.html b/doc/html/boost/proto/_expr/impl.html new file mode 100755 index 0000000000..c3a0fb74e7 --- /dev/null +++ b/doc/html/boost/proto/_expr/impl.html @@ -0,0 +1,97 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_expr.html#id2846770" title="Description"> +<link rel="prev" href="../_expr.html" title="Struct _expr"> +<link rel="next" href="../_state.html" title="Struct _state"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_expr.html#id2846770"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_state.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._expr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_expr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto._expr.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1528662-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="impl.html#id1528667-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2847320"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2847323"></a><h3> +<a name="id1528662-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Expr</span> <a name="id1528667-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns the current expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">expr</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_expr.html#id2846770"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_state.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_state.html b/doc/html/boost/proto/_state.html new file mode 100755 index 0000000000..fedc93fdbf --- /dev/null +++ b/doc/html/boost/proto/_state.html @@ -0,0 +1,72 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _state</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_expr/impl.html" title="Struct template impl"> +<link rel="next" href="_state/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_state/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._state"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _state</span></h2> +<p>boost::proto::_state — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the current state unmodified. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_state.html" title="Struct _state">_state</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_state</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_state/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">State</span> <a class="link" href="_state/impl.html#boost.proto._state.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_state/impl.html#id1528823-bb">public member functions</a></span> + <span class="identifier">State</span> <a class="link" href="_state/impl.html#id1528828-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2847902"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<span class="keyword">char</span> <span class="identifier">ch</span> <span class="special">=</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_state</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="char">'a'</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">ch</span> <span class="special">==</span> <span class="char">'a'</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_state/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_state/impl.html b/doc/html/boost/proto/_state/impl.html new file mode 100755 index 0000000000..007de8e5d0 --- /dev/null +++ b/doc/html/boost/proto/_state/impl.html @@ -0,0 +1,97 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_state.html#id2847902" title="Description"> +<link rel="prev" href="../_state.html" title="Struct _state"> +<link rel="next" href="../_data.html" title="Struct _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="../_state.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_state.html#id2847902"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._state.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_state::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">State</span> <a name="boost.proto._state.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1528823-bb">public member functions</a></span> + <span class="identifier">State</span> <a class="link" href="impl.html#id1528828-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2848658"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2848662"></a><h3> +<a name="id1528823-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">State</span> <a name="id1528828-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns the current state. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">state</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_state.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_state.html#id2847902"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_value.html b/doc/html/boost/proto/_value.html new file mode 100755 index 0000000000..e93f67b971 --- /dev/null +++ b/doc/html/boost/proto/_value.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _value</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_child_c/impl.html" title="Struct template impl"> +<link rel="next" href="_value/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_child_c/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._value"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _value</span></h2> +<p>boost::proto::_value — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the value of the current terminal expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_value.html" title="Struct _value">_value</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_value</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_value/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="_value/impl.html#boost.proto._value.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_value/impl.html#id1529354-bb">public member functions</a></span> + <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="_value/impl.html#id1529358-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2851858"></a><h2>Description</h2> +<p> + Example: + </p> +<pre class="programlisting"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> +<span class="keyword">int</span> <span class="identifier">j</span> <span class="special">=</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_value</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">assert</span><span class="special">(</span> <span class="number">42</span> <span class="special">==</span> <span class="identifier">j</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_child_c/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_value/impl.html b/doc/html/boost/proto/_value/impl.html new file mode 100755 index 0000000000..8976aeae5d --- /dev/null +++ b/doc/html/boost/proto/_value/impl.html @@ -0,0 +1,105 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_value.html#id2851858" title="Description"> +<link rel="prev" href="../_value.html" title="Struct _value"> +<link rel="next" href="../_void.html" title="Struct _void"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_value.html#id2851858"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_void.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._value.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_value::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto._value.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1529354-bb">public member functions</a></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="impl.html#id1529358-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2852398"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2852402"></a><h3> +<a name="id1529354-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> +<a name="id1529358-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns the value of the specified terminal expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput">Expr::proto_arity::value == 0</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../value_id1528169.html" title="Function value">proto::value</a>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_value.html#id2851858"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_void.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_void.html b/doc/html/boost/proto/_void.html new file mode 100755 index 0000000000..9ff89b98b2 --- /dev/null +++ b/doc/html/boost/proto/_void.html @@ -0,0 +1,64 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct _void</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>"> +<link rel="prev" href="_value/impl.html" title="Struct template impl"> +<link rel="next" href="_void/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_void/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._void"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct _void</span></h2> +<p>boost::proto::_void — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that does nothing and returns void. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="_void.html" title="Struct _void">_void</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">_void</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="_void/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <a class="link" href="_void/impl.html#boost.proto._void.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="_void/impl.html#id1529518-bb">public member functions</a></span> + <span class="keyword">void</span> <a class="link" href="_void/impl.html#id1529523-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2853032"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.arg_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_void/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/_void/impl.html b/doc/html/boost/proto/_void/impl.html new file mode 100755 index 0000000000..338216d624 --- /dev/null +++ b/doc/html/boost/proto/_void/impl.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../_void.html#id2853032" title="Description"> +<link rel="prev" href="../_void.html" title="Struct _void"> +<link rel="next" href="../_byref.html" title="Struct _byref"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_void.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_void.html#id2853032"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_byref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto._void.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::_void::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.arg_hpp" title="Header <boost/proto/transform/arg.hpp>">boost/proto/transform/arg.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <a name="boost.proto._void.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1529518-bb">public member functions</a></span> + <span class="keyword">void</span> <a class="link" href="impl.html#id1529523-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2853350"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2853353"></a><h3> +<a name="id1529518-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">void</span> <a name="id1529523-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Does nothing. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../_void.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../_void.html#id2853032"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_byref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/address_of.html b/doc/html/boost/proto/address_of.html new file mode 100755 index 0000000000..572778f57d --- /dev/null +++ b/doc/html/boost/proto/address_of.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template address_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="complement/impl.html" title="Struct template impl"> +<link rel="next" href="address_of/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="complement/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_of/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.address_of"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template address_of</span></h2> +<p>boost::proto::address_of — A metafunction for generating address_of expression types, + a grammar element for matching address_of expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="address_of.html" title="Struct template address_of">address_of</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">address_of</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/address_of.html" title="Struct address_of">proto::tag::address_of</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.address_of.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/address_of.html" title="Struct address_of">proto::tag::address_of</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.address_of.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="address_of/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><address_of>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2817666"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="complement/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_of/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/address_of/impl.html b/doc/html/boost/proto/address_of/impl.html new file mode 100755 index 0000000000..ebe4c83348 --- /dev/null +++ b/doc/html/boost/proto/address_of/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../address_of.html#id2817666" title="Description"> +<link rel="prev" href="../address_of.html" title="Struct template address_of"> +<link rel="next" href="../logical_not.html" title="Struct template logical_not"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../address_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_of.html#id2817666"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_not.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.address_of.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::address_of::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><address_of>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../address_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_of.html#id2817666"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_not.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/and_.html b/doc/html/boost/proto/and_.html new file mode 100755 index 0000000000..90033edb92 --- /dev/null +++ b/doc/html/boost/proto/and_.html @@ -0,0 +1,88 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template and_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="or_/impl.html" title="Struct template impl"> +<link rel="next" href="and_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="or_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="and_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.and_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template and_</span></h2> +<p>boost::proto::and_ — For matching all of a set of grammars. When used as a transform, + <code class="computeroutput">proto::and_<></code> applies the transform associated + with each grammar in the set and returns the result of the last.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> G<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="and_.html" title="Struct template and_">and_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><and_<G...> > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">and_</span> <a name="boost.proto.and_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="and_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">G</span><sub><span class="identifier">n</span></sub><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="and_/impl.html#boost.proto.and_.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="and_/impl.html#id1505870-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="and_/impl.html#id1505875-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2763839"></a><h2>Description</h2> +<p> + An expression type <code class="computeroutput">E</code> matches + <code class="computeroutput">proto::and_<G<sub>0</sub>,G<sub>1</sub>,...G<sub>n</sub>></code> + if <code class="computeroutput">E</code> matches all <code class="computeroutput">G<sub>x</sub></code> + for <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>. + </p> +<p> + When applying + <code class="computeroutput">proto::and_<G<sub>0</sub>,G<sub>1</sub>,...G<sub>n</sub>></code> + as a transform with an expression <code class="computeroutput">e</code>, state + <code class="computeroutput">s</code> and data <code class="computeroutput">d</code>, it is equivalent + to <code class="computeroutput">(G<sub>0</sub>()(e, s, d),G<sub>1</sub>()(e, s, d),...G<sub>n</sub>()(e, s, d))</code>. + </p> +<p> + The maximun number of template arguments <code class="computeroutput">proto::and_<></code> accepts + is controlled by the <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_MAX_LOGICAL_ARITY.html" title="Macro BOOST_PROTO_MAX_LOGICAL_ARITY">BOOST_PROTO_MAX_LOGICAL_ARITY</a></code> + macro. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="or_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="and_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/and_/impl.html b/doc/html/boost/proto/and_/impl.html new file mode 100755 index 0000000000..174e24ac45 --- /dev/null +++ b/doc/html/boost/proto/and_/impl.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../and_.html#id2763839" title="Description"> +<link rel="prev" href="../and_.html" title="Struct template and_"> +<link rel="next" href="../switch_.html" title="Struct template switch_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../and_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../and_.html#id2763839"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../switch_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.and_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::and_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">G</span><sub><span class="identifier">n</span></sub><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.and_.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1505870-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1505875-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2764327"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2764330"></a><h3> +<a name="id1505870-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1505875-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>A data of arbitrary type </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>An expression </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">(G<sub>0</sub>()(expr, state, data),G<sub>1</sub>()(expr, state, data),...G<sub>n</sub>()(expr, state, data))</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../and_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../and_.html#id2763839"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../switch_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/arity_of.html b/doc/html/boost/proto/arity_of.html new file mode 100755 index 0000000000..3dad81646f --- /dev/null +++ b/doc/html/boost/proto/arity_of.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template arity_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="tag_of.html" title="Struct template tag_of"> +<link rel="next" href="as_expr_id1527385.html" title="Function as_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_expr_id1527385.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.arity_of"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template arity_of</span></h2> +<p>boost::proto::arity_of — A metafunction that returns the arity of a Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="arity_of.html" title="Struct template arity_of">arity_of</a> <span class="special">:</span> <span class="keyword"></span> Expr::proto_arity <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_expr_id1527385.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/as_child_id1527575.html b/doc/html/boost/proto/as_child_id1527575.html new file mode 100755 index 0000000000..0afd646a15 --- /dev/null +++ b/doc/html/boost/proto/as_child_id1527575.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function as_child</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_expr_id1527385.html" title="Function as_expr"> +<link rel="next" href="child_id1527766.html" title="Function child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr_id1527385.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_id1527766.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.as_child_id1527575"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function as_child</span></h2> +<p>boost::proto::as_child — A function that wraps non-Proto objects in Proto terminals (by reference) and leaves + Proto expression types alone.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_child</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_child</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_child</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">as_child</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2844137"></a><h2>Description</h2> +<p> + The <code class="computeroutput">proto::as_child()</code> function returns Proto expression + objects that are suitable for storage as child nodes in an expression tree. It turns + non-Proto objects into Proto terminals. Its behavior is domain-specific. By default, + non-Proto types are held wrapped by reference in a new Proto terminal expression, and + objects that are already Proto expressions are simply returned by reference. + </p> +<p> + If <code class="computeroutput">Domain</code> is not explicitly specified, it is assumed to + be <code class="computeroutput"><code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code></code>. + </p> +<p> + See <code class="computeroutput"><code class="computeroutput"><a class="link" href="domain/as_child.html" title="Struct template as_child">proto::domain::as_child</a></code><></code> + for a complete description of this function's default behavior. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput">typename Domain::template as_child< T >()(t)</code></td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr_id1527385.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_id1527766.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/as_expr_id1527385.html b/doc/html/boost/proto/as_expr_id1527385.html new file mode 100755 index 0000000000..1f9aabbb5f --- /dev/null +++ b/doc/html/boost/proto/as_expr_id1527385.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function as_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="arity_of.html" title="Struct template arity_of"> +<link rel="next" href="as_child_id1527575.html" title="Function as_child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="arity_of.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_child_id1527575.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.as_expr_id1527385"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function as_expr</span></h2> +<p>boost::proto::as_expr — A function that wraps non-Proto expression types in Proto terminals and leaves Proto + expression types alone.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_expr</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_expr</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">as_expr</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">as_expr</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2843601"></a><h2>Description</h2> +<p> + The <code class="computeroutput">proto::as_expr()</code> function returns Proto expression + objects that are suitable for storage in a local variable. It turns non-Proto objects + into Proto terminals. Its behavior is domain-specific. By default, + non-Proto types are wrapped by value (if possible) in a new Proto terminal expression, + and objects that are already Proto expressions are returned by value. + </p> +<p> + If <code class="computeroutput">Domain</code> is not explicitly specified, it is assumed to + be <code class="computeroutput"><code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code></code>. + </p> +<p> + See <code class="computeroutput"><code class="computeroutput"><a class="link" href="domain/as_expr.html" title="Struct template as_expr">proto::domain::as_expr</a></code><></code> + for a complete description of this function's default behavior. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput">typename Domain::template as_expr< T >()(t)</code></td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="arity_of.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_child_id1527575.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/assert_matches.html b/doc/html/boost/proto/assert_matches.html new file mode 100755 index 0000000000..9fbc4a9a18 --- /dev/null +++ b/doc/html/boost/proto/assert_matches.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function template assert_matches</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>"> +<link rel="prev" href="display_expr_id1492920.html" title="Function display_expr"> +<link rel="next" href="assert_matches_not.html" title="Function template assert_matches_not"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="display_expr_id1492920.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_matches_not.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.assert_matches"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function template assert_matches</span></h2> +<p>boost::proto::assert_matches — + Assert at compile time that a particular expression + matches the specified grammar. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>">boost/proto/debug.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">void</span> <span class="identifier">assert_matches</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2710847"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::assert_matches()</code> to assert at compile-time that + an expression matches a grammar. + </p> +<p> + <span class="bold"><strong>Example:</strong></span></p> +<pre class="programlisting">typedef proto::plus< proto::terminal< int >, proto::terminal< int > > PlusInts; + +proto::assert_matches<PlusInts>( <code class="computeroutput"><a class="link" href="lit.html" title="Function lit">proto::lit</a></code>(1) + 42 );</pre> +<p> + </p> +<p> + See also: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><code class="computeroutput"><a class="link" href="assert_matches_not.html" title="Function template assert_matches_not">proto::assert_matches_not</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_ASSERT_MATCHES.html" title="Macro BOOST_PROTO_ASSERT_MATCHES">BOOST_PROTO_ASSERT_MATCHES</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_ASSERT_MATCHES_NOT.html" title="Macro BOOST_PROTO_ASSERT_MATCHES_NOT">BOOST_PROTO_ASSERT_MATCHES_NOT</a>()</code></li> +</ul></div> +<p> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Notes:</span></p></td> +<td><p> + Equivalent to <code class="computeroutput">BOOST_MPL_ASSERT((<a class="link" href="matches.html" title="Struct template matches">proto::matches</a><Expr, Grammar>))</code>. + </p></td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="display_expr_id1492920.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_matches_not.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/assert_matches_not.html b/doc/html/boost/proto/assert_matches_not.html new file mode 100755 index 0000000000..8e53e247f0 --- /dev/null +++ b/doc/html/boost/proto/assert_matches_not.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function template assert_matches_not</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>"> +<link rel="prev" href="assert_matches.html" title="Function template assert_matches"> +<link rel="next" href="../../BOOST_PROTO_ASSERT_MATCHES.html" title="Macro BOOST_PROTO_ASSERT_MATCHES"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assert_matches.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.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_PROTO_ASSERT_MATCHES.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.assert_matches_not"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function template assert_matches_not</span></h2> +<p>boost::proto::assert_matches_not — + Assert at compile time that a particular expression + does not match the specified grammar. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>">boost/proto/debug.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">void</span> <span class="identifier">assert_matches_not</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2711078"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::assert_matches_not()</code> to assert at compile-time that + an expression does not match a grammar. + </p> +<p> + <span class="bold"><strong>Example:</strong></span></p> +<pre class="programlisting">typedef proto::plus< proto::terminal< int >, proto::terminal< int > > PlusInts; + +proto::assert_matches_not<PlusInts>( <code class="computeroutput"><a class="link" href="lit.html" title="Function lit">proto::lit</a></code>("a string") + 42 );</pre> +<p> + </p> +<p> + See also: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><code class="computeroutput"><a class="link" href="assert_matches.html" title="Function template assert_matches">proto::assert_matches</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_ASSERT_MATCHES.html" title="Macro BOOST_PROTO_ASSERT_MATCHES">BOOST_PROTO_ASSERT_MATCHES</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_ASSERT_MATCHES_NOT.html" title="Macro BOOST_PROTO_ASSERT_MATCHES_NOT">BOOST_PROTO_ASSERT_MATCHES_NOT</a>()</code></li> +</ul></div> +<p> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Notes:</span></p></td> +<td><p> + Equivalent to <code class="computeroutput">BOOST_MPL_ASSERT_NOT((<a class="link" href="matches.html" title="Struct template matches">proto::matches</a><Expr, Grammar>))</code>. + </p></td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assert_matches.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.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_PROTO_ASSERT_MATCHES.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/assign.html b/doc/html/boost/proto/assign.html new file mode 100755 index 0000000000..6c604f5410 --- /dev/null +++ b/doc/html/boost/proto/assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="mem_ptr/impl.html" title="Struct template impl"> +<link rel="next" href="assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="mem_ptr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template assign</span></h2> +<p>boost::proto::assign — A metafunction for generating assignment expression types, + a grammar element for matching assignment expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="assign.html" title="Struct template assign">assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/assign.html" title="Struct assign">proto::tag::assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/assign.html" title="Struct assign">proto::tag::assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2832583"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="mem_ptr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/assign/impl.html b/doc/html/boost/proto/assign/impl.html new file mode 100755 index 0000000000..814343c28c --- /dev/null +++ b/doc/html/boost/proto/assign/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../assign.html#id2832583" title="Description"> +<link rel="prev" href="../assign.html" title="Struct template assign"> +<link rel="next" href="../shift_left_assign.html" title="Struct template shift_left_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html#id2832583"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_left_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><assign>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html#id2832583"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_left_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/basic_default_domain.html b/doc/html/boost/proto/basic_default_domain.html new file mode 100755 index 0000000000..29b3c55e88 --- /dev/null +++ b/doc/html/boost/proto/basic_default_domain.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct basic_default_domain</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="default_domain.html" title="Struct default_domain"> +<link rel="next" href="deduce_domain.html" title="Struct deduce_domain"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.basic_default_domain"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct basic_default_domain</span></h2> +<p>boost::proto::basic_default_domain — A domain similiar in purpose to <a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a>, except stating + a preference for <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><> over <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">basic_default_domain</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="domain.html" title="Struct template domain">proto::domain</a><span class="special"><</span> <a class="link" href="basic_default_generator.html" title="Struct basic_default_generator">proto::basic_default_generator</a> <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/basic_default_generator.html b/doc/html/boost/proto/basic_default_generator.html new file mode 100755 index 0000000000..5b7f0a83bf --- /dev/null +++ b/doc/html/boost/proto/basic_default_generator.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct basic_default_generator</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="default_generator/result_This_Expr__id1501199.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="generator.html" title="Struct template generator"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_generator/result_This_Expr__id1501199.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.basic_default_generator"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct basic_default_generator</span></h2> +<p>boost::proto::basic_default_generator — + A simple generator that passes an expression through unchanged while stating + a preference for <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><> over + <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="basic_default_generator.html" title="Struct basic_default_generator">basic_default_generator</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="use_basic_expr.html" title="Struct template use_basic_expr">proto::use_basic_expr</a>< <a class="link" href="default_generator.html" title="Struct default_generator">proto::default_generator</a> > +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_generator/result_This_Expr__id1501199.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/basic_expr.html b/doc/html/boost/proto/basic_expr.html new file mode 100755 index 0000000000..a0dc3cb81e --- /dev/null +++ b/doc/html/boost/proto/basic_expr.html @@ -0,0 +1,152 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template basic_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>"> +<link rel="prev" href="eval_id1495281.html" title="Function eval"> +<link rel="next" href="expr.html" title="Struct template expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="eval_id1495281.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.basic_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template basic_expr</span></h2> +<p>boost::proto::basic_expr — Simplified representation of a node in an expression tree.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>">boost/proto/expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Args<span class="special">,</span> <span class="keyword">long</span> Arity <span class="special">=</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">arity</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">basic_expr</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Tag</span> <a name="boost.proto.basic_expr.proto_tag"></a><span class="identifier">proto_tag</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Args</span> <a name="boost.proto.basic_expr.proto_args"></a><span class="identifier">proto_args</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special"><</span> <span class="identifier">Arity</span> <span class="special">></span> <a name="boost.proto.basic_expr.proto_arity"></a><span class="identifier">proto_arity</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a> <a name="boost.proto.basic_expr.proto_domain"></a><span class="identifier">proto_domain</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">basic_expr</span> <a name="boost.proto.basic_expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">basic_expr</span> <a name="boost.proto.basic_expr.proto_base_expr"></a><span class="identifier">proto_base_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">basic_expr</span> <a name="boost.proto.basic_expr.proto_derived_expr"></a><span class="identifier">proto_derived_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">child</span><em class="replaceable"><code><span class="identifier">N</span></code></em> <a name="boost.proto.basic_expr.proto_childN"></a><span class="identifier">proto_childN</span><span class="special">;</span> <span class="comment">// For each <em class="replaceable"><code>N</code></em> in <em class="replaceable"><code>[0,max(Arity,1))</code></em>.</span> + + <span class="comment">// <a class="link" href="basic_expr.html#id1495678-bb">public static functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <span class="keyword">static</span> <span class="identifier">basic_expr</span> <span class="keyword">const</span> <a class="link" href="basic_expr.html#id1495686-bb"><span class="identifier">make</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="basic_expr.html#id1495746-bb">public member functions</a></span> + <span class="identifier">basic_expr</span> <span class="special">&</span> <a class="link" href="basic_expr.html#id1495751-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">basic_expr</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="basic_expr.html#id1495772-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2719393"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::basic_expr<></code> is a node in an expression + template tree. It is a container for its child sub-trees. It also serves as the + terminal nodes of the tree. + </p> +<p> + <code class="computeroutput">Tag</code> is type that represents the operation + encoded by this expression. It is typically one of the structs in the + <code class="computeroutput">boost::proto::tag</code> namespace, but it doesn't + have to be. If <code class="computeroutput">Arity</code> is 0 then this + <code class="computeroutput">expr<></code> type represents a leaf in the + expression tree. + </p> +<p> + <code class="computeroutput">Args</code> is a list of types representing + the children of this expression. It is an instantiation of one of + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::list1<></a></code>, + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::list2<></a></code>, + etc. The child types + must all themselves be either <code class="computeroutput">proto::expr<></code> + or <code class="computeroutput">proto::basic_expr<>&</code> (or extensions thereof via + <code class="computeroutput"><a class="link" href="extends.html" title="Struct template extends">proto::extends<></a></code> or + <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>()</code>), unless + <code class="computeroutput">Arity</code> is 0, in which case + <code class="computeroutput">Args</code> must be + <code class="computeroutput">proto::term<T></code>, where + <code class="computeroutput">T</code> can be any type. + </p> +<p> + <code class="computeroutput">proto::basic_expr<></code> is a valid Fusion + random-access sequence, where the elements of the sequence are the child + expressions. + </p> +<div class="refsect2"> +<a name="id2719548"></a><h3> +<a name="id1495678-bb"></a><code class="computeroutput">basic_expr</code> public static functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <span class="keyword">static</span> <span class="identifier">basic_expr</span> <span class="keyword">const</span> <a name="id1495686-bb"></a><span class="identifier">make</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + The number of supplied arguments must be <code class="computeroutput">max(Arity,1)</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + A new <code class="computeroutput">basic_expr</code> object initialized with the specified arguments. + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2719692"></a><h3> +<a name="id1495746-bb"></a><code class="computeroutput">basic_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">basic_expr</span> <span class="special">&</span> <a name="id1495751-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">*this</code> + </p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">basic_expr</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id1495772-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="eval_id1495281.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/binary_expr.html b/doc/html/boost/proto/binary_expr.html new file mode 100755 index 0000000000..380b79e9c1 --- /dev/null +++ b/doc/html/boost/proto/binary_expr.html @@ -0,0 +1,72 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template binary_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="unary_expr/impl.html" title="Struct template impl"> +<link rel="next" href="binary_expr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.binary_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template binary_expr</span></h2> +<p>boost::proto::binary_expr — A metafunction for generating binary expression types with a specified tag type, + a grammar element for matching binary expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> + that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="binary_expr.html" title="Struct template binary_expr">binary_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">binary_expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.binary_expr.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.binary_expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="binary_expr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><binary_expr>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2841956"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::binary_expr<<a class="link" href="_.html" title="Struct _">proto::_</a>, <a class="link" href="_.html" title="Struct _">proto::_</a>, <a class="link" href="_.html" title="Struct _">proto::_</a>></code> as a grammar element to match any binary expression. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/binary_expr/impl.html b/doc/html/boost/proto/binary_expr/impl.html new file mode 100755 index 0000000000..c900a58d03 --- /dev/null +++ b/doc/html/boost/proto/binary_expr/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../binary_expr.html#id2841956" title="Description"> +<link rel="prev" href="../binary_expr.html" title="Struct template binary_expr"> +<link rel="next" href="../nary_expr.html" title="Struct template nary_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../binary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binary_expr.html#id2841956"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.binary_expr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::binary_expr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><binary_expr>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../binary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binary_expr.html#id2841956"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_and.html b/doc/html/boost/proto/bitwise_and.html new file mode 100755 index 0000000000..75357adc54 --- /dev/null +++ b/doc/html/boost/proto/bitwise_and.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_and</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="logical_and/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_and/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_and/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_and"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_and</span></h2> +<p>boost::proto::bitwise_and — A metafunction for generating bitwise-and expression types, + a grammar element for matching bitwise-and expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_and.html" title="Struct template bitwise_and">bitwise_and</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_and</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_and.html" title="Struct bitwise_and">proto::tag::bitwise_and</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_and.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_and.html" title="Struct bitwise_and">proto::tag::bitwise_and</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_and.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_and/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_and>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2829477"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_and/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_and/impl.html b/doc/html/boost/proto/bitwise_and/impl.html new file mode 100755 index 0000000000..324480c99a --- /dev/null +++ b/doc/html/boost/proto/bitwise_and/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_and.html#id2829477" title="Description"> +<link rel="prev" href="../bitwise_and.html" title="Struct template bitwise_and"> +<link rel="next" href="../bitwise_or.html" title="Struct template bitwise_or"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_and.html#id2829477"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_and.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_and::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_and>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_and.html#id2829477"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_and_assign.html b/doc/html/boost/proto/bitwise_and_assign.html new file mode 100755 index 0000000000..70288925ed --- /dev/null +++ b/doc/html/boost/proto/bitwise_and_assign.html @@ -0,0 +1,67 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_and_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="minus_assign/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_and_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_and_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_and_assign</span></h2> +<p>boost::proto::bitwise_and_assign — A metafunction for generating bitwise-and-assign expression types, + a grammar element for matching bitwise-and-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_and_assign.html" title="Struct template bitwise_and_assign">bitwise_and_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_and_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">proto::tag::bitwise_and_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_and_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">proto::tag::bitwise_and_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_and_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_and_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><span class="special"><</span><span class="identifier">bitwise_and_assign</span><span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2837302"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_and_assign/impl.html b/doc/html/boost/proto/bitwise_and_assign/impl.html new file mode 100755 index 0000000000..ea29ea12d3 --- /dev/null +++ b/doc/html/boost/proto/bitwise_and_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_and_assign.html#id2837302" title="Description"> +<link rel="prev" href="../bitwise_and_assign.html" title="Struct template bitwise_and_assign"> +<link rel="next" href="../bitwise_or_assign.html" title="Struct template bitwise_or_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_and_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_and_assign.html#id2837302"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_or_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_and_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_and_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_and_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_and_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_and_assign.html#id2837302"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_or_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_or.html b/doc/html/boost/proto/bitwise_or.html new file mode 100755 index 0000000000..2a3879fb76 --- /dev/null +++ b/doc/html/boost/proto/bitwise_or.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_or</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_and/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_or/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_or"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_or</span></h2> +<p>boost::proto::bitwise_or — A metafunction for generating bitwise-or expression types, + a grammar element for matching bitwise-or expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_or.html" title="Struct template bitwise_or">bitwise_or</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_or</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_or.html" title="Struct bitwise_or">proto::tag::bitwise_or</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_or.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_or.html" title="Struct bitwise_or">proto::tag::bitwise_or</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_or.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_or/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_or>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2830049"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_or/impl.html b/doc/html/boost/proto/bitwise_or/impl.html new file mode 100755 index 0000000000..7fc0c3ea5c --- /dev/null +++ b/doc/html/boost/proto/bitwise_or/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_or.html#id2830049" title="Description"> +<link rel="prev" href="../bitwise_or.html" title="Struct template bitwise_or"> +<link rel="next" href="../bitwise_xor.html" title="Struct template bitwise_xor"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_or.html#id2830049"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_xor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_or.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_or::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_or>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_or.html#id2830049"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_xor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_or_assign.html b/doc/html/boost/proto/bitwise_or_assign.html new file mode 100755 index 0000000000..cca3d2cf9b --- /dev/null +++ b/doc/html/boost/proto/bitwise_or_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_or_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_and_assign/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_or_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_or_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_or_assign</span></h2> +<p>boost::proto::bitwise_or_assign — A metafunction for generating bitwise-or-assign expression types, + a grammar element for matching bitwise-or-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_or_assign.html" title="Struct template bitwise_or_assign">bitwise_or_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_or_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">proto::tag::bitwise_or_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_or_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">proto::tag::bitwise_or_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_or_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_or_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_or_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2837881"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_or_assign/impl.html b/doc/html/boost/proto/bitwise_or_assign/impl.html new file mode 100755 index 0000000000..61c8724415 --- /dev/null +++ b/doc/html/boost/proto/bitwise_or_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_or_assign.html#id2837881" title="Description"> +<link rel="prev" href="../bitwise_or_assign.html" title="Struct template bitwise_or_assign"> +<link rel="next" href="../bitwise_xor_assign.html" title="Struct template bitwise_xor_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_or_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_or_assign.html#id2837881"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_xor_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_or_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_or_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_or_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_or_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_or_assign.html#id2837881"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_xor_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_xor.html b/doc/html/boost/proto/bitwise_xor.html new file mode 100755 index 0000000000..2c1a6fb875 --- /dev/null +++ b/doc/html/boost/proto/bitwise_xor.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_xor</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_or/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_xor/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_xor"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_xor</span></h2> +<p>boost::proto::bitwise_xor — A metafunction for generating bitwise-xor expression types, + a grammar element for matching bitwise-xor expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_xor.html" title="Struct template bitwise_xor">bitwise_xor</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_xor</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_xor.html" title="Struct bitwise_xor">proto::tag::bitwise_xor</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_xor.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_xor.html" title="Struct bitwise_xor">proto::tag::bitwise_xor</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_xor.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_xor/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_xor>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2830620"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_xor/impl.html b/doc/html/boost/proto/bitwise_xor/impl.html new file mode 100755 index 0000000000..80d57ea44c --- /dev/null +++ b/doc/html/boost/proto/bitwise_xor/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_xor.html#id2830620" title="Description"> +<link rel="prev" href="../bitwise_xor.html" title="Struct template bitwise_xor"> +<link rel="next" href="../comma.html" title="Struct template comma"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_xor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_xor.html#id2830620"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../comma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_xor.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_xor::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_xor>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_xor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_xor.html#id2830620"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../comma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_xor_assign.html b/doc/html/boost/proto/bitwise_xor_assign.html new file mode 100755 index 0000000000..7a6fdc04ee --- /dev/null +++ b/doc/html/boost/proto/bitwise_xor_assign.html @@ -0,0 +1,67 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template bitwise_xor_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_or_assign/impl.html" title="Struct template impl"> +<link rel="next" href="bitwise_xor_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_xor_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template bitwise_xor_assign</span></h2> +<p>boost::proto::bitwise_xor_assign — A metafunction for generating bitwise-xor-assign expression types, + a grammar element for matching bitwise-xor-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="bitwise_xor_assign.html" title="Struct template bitwise_xor_assign">bitwise_xor_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">bitwise_xor_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">proto::tag::bitwise_xor_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_xor_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">proto::tag::bitwise_xor_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.bitwise_xor_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="bitwise_xor_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><span class="special"><</span><span class="identifier">bitwise_xor_assign</span><span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2838519"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/bitwise_xor_assign/impl.html b/doc/html/boost/proto/bitwise_xor_assign/impl.html new file mode 100755 index 0000000000..f7de77f42f --- /dev/null +++ b/doc/html/boost/proto/bitwise_xor_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../bitwise_xor_assign.html#id2838519" title="Description"> +<link rel="prev" href="../bitwise_xor_assign.html" title="Struct template bitwise_xor_assign"> +<link rel="next" href="../subscript.html" title="Struct template subscript"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_xor_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_xor_assign.html#id2838519"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../subscript.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.bitwise_xor_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::bitwise_xor_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><bitwise_xor_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../bitwise_xor_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitwise_xor_assign.html#id2838519"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../subscript.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/by_value_generator.html b/doc/html/boost/proto/by_value_generator.html new file mode 100755 index 0000000000..87b8dcda13 --- /dev/null +++ b/doc/html/boost/proto/by_value_generator.html @@ -0,0 +1,101 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct by_value_generator</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="pod_generator/result_This_Expr__id1501531.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="by_value_generator/result_This_Expr__id1501686.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pod_generator/result_This_Expr__id1501531.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="by_value_generator/result_This_Expr__id1501686.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.by_value_generator"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct by_value_generator</span></h2> +<p>boost::proto::by_value_generator — A generator that replaces child nodes held by reference with ones held by value. + Use with <code class="computeroutput"><a class="link" href="compose_generators.html" title="Struct template compose_generators">proto::compose_generators<></a> + </code> to forward that result to another generator. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="by_value_generator.html" title="Struct by_value_generator">by_value_generator</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="by_value_generator/result_This_Expr__id1501686.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="by_value_generator/result_This_Expr__id1501686.html#boost.proto.by_value_generator.result_This(Expr)_id1501686.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="by_value_generator.html#id1501723-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="by_value_generator.html#id1501728-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2747249"></a><h2>Description</h2> +<p> + Generators are intended for use as the first template parameter to the + <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code> + class template and control if and how expressions within that domain are to be customized. + <code class="computeroutput">proto::by_value_generator</code> ensures all child nodes are held + by value. This generator is typically composed with a second generator for further processing, + as <code class="computeroutput"><a class="link" href="compose_generators.html" title="Struct template compose_generators">proto::compose_generators</a><proto::by_value_generator, + MyGenerator></code>. + </p> +<div class="refsect2"> +<a name="id2747294"></a><h3> +<a name="id1501723-bb"></a><code class="computeroutput">by_value_generator</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="id1501728-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>A Proto expression.</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>Equivalent to <code class="computeroutput"><a class="link" href="deep_copy_id1493807.html" title="Function template deep_copy">proto::deep_copy</a>(expr)</code></p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pod_generator/result_This_Expr__id1501531.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="by_value_generator/result_This_Expr__id1501686.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/by_value_generator/result_This_Expr__id1501686.html b/doc/html/boost/proto/by_value_generator/result_This_Expr__id1501686.html new file mode 100755 index 0000000000..f86a7c89a2 --- /dev/null +++ b/doc/html/boost/proto/by_value_generator/result_This_Expr__id1501686.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../by_value_generator.html#id2747249" title="Description"> +<link rel="prev" href="../by_value_generator.html" title="Struct by_value_generator"> +<link rel="next" href="../compose_generators.html" title="Struct template compose_generators"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../by_value_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../by_value_generator.html#id2747249"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../compose_generators.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.by_value_generator.result_This(Expr)_id1501686"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::by_value_generator::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1501686.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.by_value_generator.result_This(Expr)_id1501686.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../by_value_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../by_value_generator.html#id2747249"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../compose_generators.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/call.html b/doc/html/boost/proto/call.html new file mode 100755 index 0000000000..1160d99919 --- /dev/null +++ b/doc/html/boost/proto/call.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template call</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.call_hpp" title="Header <boost/proto/transform/call.hpp>"> +<link rel="prev" href="_byval/result_This_T__id1529936.html" title="Struct template result<This(T)>"> +<link rel="next" href="call/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_byval/result_This_T__id1529936.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.call_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="call/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.call"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template call</span></h2> +<p>boost::proto::call — Make the given <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> into a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.call_hpp" title="Header <boost/proto/transform/call.hpp>">boost/proto/transform/call.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="call.html" title="Struct template call">call</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a>< call<T> > <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="call/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="call/impl.html#boost.proto.call.impltypes">types</a></span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="call/impl.html#boost.proto.call.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="call/impl.html#id1530552-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="call/impl.html#id1530556-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2857378"></a><h2>Description</h2> +<p> + The purpose of <code class="computeroutput">proto::call<></code> is to annotate a transform as callable + so that <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when<></a></code> knows + how to apply it. The template parameter must be either a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> or a + <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>; that is, a function type for which the return type is a callable + <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a>. + </p> +<p> + For the complete description of the behavior of the <code class="computeroutput">proto::call<></code> + transform, see the documentation for the nested + <code class="computeroutput"> + <a class="link" href="call/impl.html" title="Struct template impl">proto::call::impl<></a> + </code> + class template. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_byval/result_This_T__id1529936.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.call_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="call/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/call/impl.html b/doc/html/boost/proto/call/impl.html new file mode 100755 index 0000000000..da944d6f45 --- /dev/null +++ b/doc/html/boost/proto/call/impl.html @@ -0,0 +1,242 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../call.html#id2857378" title="Description"> +<link rel="prev" href="../call.html" title="Struct template call"> +<link rel="next" href="../_default.html" title="Struct template _default"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../call.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../call.html#id2857378"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_default.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.call.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::call::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.call_hpp" title="Header <boost/proto/transform/call.hpp>">boost/proto/transform/call.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="impl.html#boost.proto.call.impltypes">types</a></span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="impl.html#boost.proto.call.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1530552-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1530556-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2857750"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2857754"></a><h3> +<a name="boost.proto.call.impltypes"></a><code class="computeroutput">impl</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.call.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span></p> +<p> + In the description that follows, a type <code class="computeroutput">T</code> is determined to model the + <a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> concept if + <code class="computeroutput"><a class="link" href="../is_transform.html" title="Struct template is_transform">proto::is_transform</a><T>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput"><a class="link" href="../call.html" title="Struct template call">proto::call</a><T>::impl<Expr,State,Data>::result_type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> if of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a></code> or + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>()</code>, then + <code class="computeroutput">result_type</code> is: + </p> +<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">PrimitiveTransform</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>)</code>, then + <code class="computeroutput">result_type</code> is: + </p> +<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">PrimitiveTransform</span><span class="special">(</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">0</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="identifier">State</span><span class="special">,</span> + <span class="identifier">Data</span> +<span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>, A<sub>1</sub>)</code>, then + <code class="computeroutput">result_type</code> is: + </p> +<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">PrimitiveTransform</span><span class="special">(</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">0</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">1</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="identifier">Data</span> +<span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>, A<sub>1</sub>, A<sub>2</sub>)</code>, then + <code class="computeroutput">result_type</code> is: + </p> +<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">PrimitiveTransform</span><span class="special">(</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">0</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">1</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">2</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> +<span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a>(A<sub>0</sub>,...A<sub>n</sub>)</code>, then + <code class="computeroutput">result_type</code> is: + </p> +<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">PolymorphicFunctionObject</span><span class="special">(</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="number">0</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span><span class="identifier">A</span><sub><span class="identifier">n</span></sub><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> +<span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +</li> +</ul></div> +<p> + </p> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2859253"></a><h3> +<a name="id1530552-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1530556-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + In the description that follows, a type <code class="computeroutput">T</code> is determined to model the + <a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> concept if + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../is_transform.html" title="Struct template is_transform">proto::is_transform</a></code><T>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../call.html" title="Struct template call">proto::call</a></code><T>::impl<Expr,State,Data>::operator()</code> behaves as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> if of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a></code> or + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>()</code>, then + return + </p> +<pre class="programlisting">PrimitiveTransform()(expr, state, data)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>)</code>, then + return + </p> +<pre class="programlisting">PrimitiveTransform()( + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>0</sub>>()(expr, state, data), + state, + sata +)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>, A<sub>1</sub>)</code>, then + return: + </p> +<pre class="programlisting">PrimitiveTransform()( + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>0</sub>>()(expr, state, data), + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>1</sub>>()(expr, state, data), + Data +)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>(A<sub>0</sub>, A<sub>1</sub>, A<sub>2</sub>)</code>, then + return + </p> +<pre class="programlisting">PrimitiveTransform()( + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>0</sub>>()(expr, state, data), + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>1</sub>>()(expr, state, data), + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>2</sub>>()(expr, state, data) +)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput"><a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a>(A<sub>0</sub>,...A<sub>n</sub>)</code>, then + return: + </p> +<pre class="programlisting">PolymorphicFunctionObject()( + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>0</sub>>()(expr, state, data), + ... + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>,A<sub>n</sub>>()(expr, state, data) +)</pre> +<p> + </p> +</li> +</ul></div> +<p> + </p> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../call.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../call.html#id2857378"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_default.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/callable.html b/doc/html/boost/proto/callable.html new file mode 100755 index 0000000000..16735e70fc --- /dev/null +++ b/doc/html/boost/proto/callable.html @@ -0,0 +1,64 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct callable</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp" title="Header <boost/proto/proto_fwd.hpp>"> +<link rel="prev" href="../../BOOST_PROTO_DEFINE_OPERATORS.html" title="Macro BOOST_PROTO_DEFINE_OPERATORS"> +<link rel="next" href="N.html" title="Global N"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_PROTO_DEFINE_OPERATORS.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="N.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.callable"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct callable</span></h2> +<p>boost::proto::callable — Base class for callable <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a>s</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp" title="Header <boost/proto/proto_fwd.hpp>">boost/proto/proto_fwd.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="callable.html" title="Struct callable">callable</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2787045"></a><h2>Description</h2> +<p> + When defining a callable <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a>, inherit + from <code class="computeroutput">proto::callable</code> so that it can be used to create + a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>. + </p> +<p> + <code class="computeroutput"><a class="link" href="is_callable.html" title="Struct template is_callable">proto::is_callable</a><T>::value</code> is + <code class="computeroutput">true</code> for types that inherit from + <code class="computeroutput">proto::callable</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_PROTO_DEFINE_OPERATORS.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.proto_fwd_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="N.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/char_.html b/doc/html/boost/proto/char_.html new file mode 100755 index 0000000000..d190424b60 --- /dev/null +++ b/doc/html/boost/proto/char_.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template char_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>"> +<link rel="prev" href="integral_c/impl.html" title="Struct template impl"> +<link rel="next" href="int_.html" title="Struct template int_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="integral_c/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="int_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.char_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template char_</span></h2> +<p>boost::proto::char_ — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the specified char.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">char</span> I<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="char_.html" title="Struct template char_">char_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="integral_c.html" title="Struct template integral_c">proto::integral_c</a><span class="special"><</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">I</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="integral_c/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="int_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/child_c_id1528008.html b/doc/html/boost/proto/child_c_id1528008.html new file mode 100755 index 0000000000..b93597b5cb --- /dev/null +++ b/doc/html/boost/proto/child_c_id1528008.html @@ -0,0 +1,88 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function child_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="child_id1527766.html" title="Function child"> +<link rel="next" href="value_id1528169.html" title="Function value"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_id1527766.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_id1528169.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.child_c_id1528008"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function child_c</span></h2> +<p>boost::proto::child_c — Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the specified + Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">long</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">child_c</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">long</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">child_c</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2845127"></a><h2>Description</h2> +<p> + Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the specified Proto + expression. The child is returned by reference. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput">N < Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A reference to the <em class="replaceable"><code>N</code></em><sup>th</sup> child + of <code class="computeroutput">expr</code>.</p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_id1527766.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_id1528169.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/child_id1527766.html b/doc/html/boost/proto/child_id1527766.html new file mode 100755 index 0000000000..9ea059e08a --- /dev/null +++ b/doc/html/boost/proto/child_id1527766.html @@ -0,0 +1,107 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function child</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_child_id1527575.html" title="Function as_child"> +<link rel="next" href="child_c_id1528008.html" title="Function child_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="as_child_id1527575.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c_id1528008.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.child_id1527766"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function child</span></h2> +<p>boost::proto::child — Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the specified Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">child</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">child</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">child</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">child</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2844705"></a><h2>Description</h2> +<p> + Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the specified Proto expression. + If <code class="computeroutput">N</code> is not specified, as in <code class="computeroutput">proto::child(expr)</code>, + then <code class="computeroutput">N</code> is assumed to be <code class="computeroutput">mpl::long_<0></code>. + The child is returned by reference. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The Proto expression. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput">N</code> is an MPL Integral Constant. + </p> +<p> + <code class="computeroutput">N::value < Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A reference to the <em class="replaceable"><code>N</code></em><sup>th</sup> child + of <code class="computeroutput">expr</code>.</p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_child_id1527575.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c_id1528008.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/comma.html b/doc/html/boost/proto/comma.html new file mode 100755 index 0000000000..59735dda66 --- /dev/null +++ b/doc/html/boost/proto/comma.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template comma</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_xor/impl.html" title="Struct template impl"> +<link rel="next" href="comma/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comma/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.comma"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template comma</span></h2> +<p>boost::proto::comma — A metafunction for generating comma expression types, + a grammar element for matching comma expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="comma.html" title="Struct template comma">comma</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">comma</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/comma.html" title="Struct comma">proto::tag::comma</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.comma.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/comma.html" title="Struct comma">proto::tag::comma</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.comma.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="comma/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><comma>::template impl<Expr, State, Data> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2831462"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comma/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/comma/impl.html b/doc/html/boost/proto/comma/impl.html new file mode 100755 index 0000000000..16aea41428 --- /dev/null +++ b/doc/html/boost/proto/comma/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../comma.html#id2831462" title="Description"> +<link rel="prev" href="../comma.html" title="Struct template comma"> +<link rel="next" href="../mem_ptr.html" title="Struct template mem_ptr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../comma.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comma.html#id2831462"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../mem_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.comma.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::comma::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><comma>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../comma.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../comma.html#id2831462"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../mem_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/complement.html b/doc/html/boost/proto/complement.html new file mode 100755 index 0000000000..96f9d7f3f9 --- /dev/null +++ b/doc/html/boost/proto/complement.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template complement</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="dereference/impl.html" title="Struct template impl"> +<link rel="next" href="complement/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="dereference/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complement/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.complement"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template complement</span></h2> +<p>boost::proto::complement — A metafunction for generating complement expression types, + a grammar element for matching complement expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="complement.html" title="Struct template complement">complement</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">complement</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/complement.html" title="Struct complement">proto::tag::complement</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.complement.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/complement.html" title="Struct complement">proto::tag::complement</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.complement.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="complement/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><complement>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2817134"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="dereference/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complement/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/complement/impl.html b/doc/html/boost/proto/complement/impl.html new file mode 100755 index 0000000000..9f381e88d2 --- /dev/null +++ b/doc/html/boost/proto/complement/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../complement.html#id2817134" title="Description"> +<link rel="prev" href="../complement.html" title="Struct template complement"> +<link rel="next" href="../address_of.html" title="Struct template address_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="../complement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../complement.html#id2817134"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../address_of.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.complement.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::complement::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><complement>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../complement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../complement.html#id2817134"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../address_of.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/compose_generators.html b/doc/html/boost/proto/compose_generators.html new file mode 100755 index 0000000000..95eb7514ef --- /dev/null +++ b/doc/html/boost/proto/compose_generators.html @@ -0,0 +1,108 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template compose_generators</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="by_value_generator/result_This_Expr__id1501686.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="compose_generators/result_This_Expr__id1501842.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="by_value_generator/result_This_Expr__id1501686.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compose_generators/result_This_Expr__id1501842.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.compose_generators"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template compose_generators</span></h2> +<p>boost::proto::compose_generators — A composite generator that first applies one transform to an expression and then forwards + the result on to another generator for further transformation.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="compose_generators.html" title="Struct template compose_generators">compose_generators</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="compose_generators/result_This_Expr__id1501842.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">Second</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">First</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="compose_generators.html#id1501877-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">Second</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">First</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span> + <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="compose_generators.html#id1501882-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2748123"></a><h2>Description</h2> +<p> + Generators are intended for use as the first template parameter to the + <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code> + class template and control if and how expressions within that domain are to be customized. + <code class="computeroutput">proto::compose_generators<></code> is a composite generator + that first applies one transform to an expression and then forwards the result on to another + generator for further transformation. + </p> +<div class="refsect2"> +<a name="id2748155"></a><h3> +<a name="id1501877-bb"></a><code class="computeroutput">compose_generators</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">Second</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">First</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span> + <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1501882-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>A Proto expression.</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">Second()(First()(expr))</code></p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="by_value_generator/result_This_Expr__id1501686.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compose_generators/result_This_Expr__id1501842.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/compose_generators/result_This_Expr__id1501842.html b/doc/html/boost/proto/compose_generators/result_This_Expr__id1501842.html new file mode 100755 index 0000000000..8286714bca --- /dev/null +++ b/doc/html/boost/proto/compose_generators/result_This_Expr__id1501842.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../compose_generators.html#id2748123" title="Description"> +<link rel="prev" href="../compose_generators.html" title="Struct template compose_generators"> +<link rel="next" href="../use_basic_expr.html" title="Struct template use_basic_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../compose_generators.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../compose_generators.html#id2748123"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_basic_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.compose_generators.result_This(Expr)_id1501842"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::compose_generators::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1501842.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">Second</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">First</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../compose_generators.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../compose_generators.html#id2748123"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_basic_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/callable_context.html b/doc/html/boost/proto/context/callable_context.html new file mode 100755 index 0000000000..f5c9196a38 --- /dev/null +++ b/doc/html/boost/proto/context/callable_context.html @@ -0,0 +1,129 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template callable_context</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp" title="Header <boost/proto/context/callable.hpp>"> +<link rel="prev" href="callable_eval.html" title="Struct template callable_eval"> +<link rel="next" href="callable_context/eval.html" title="Struct template eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callable_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.callable_context"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template callable_context</span></h2> +<p>boost::proto::context::callable_context — An evaluation context adaptor that makes authoring a context a simple matter of + writing function overloads, rather then writing template specializations.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp" title="Header <boost/proto/context/callable.hpp>">boost/proto/context/callable.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Context<span class="special">,</span> + <span class="keyword">typename</span> DefaultCtx <span class="special">=</span> <a class="link" href="default_context.html" title="Struct default_context">proto::context::default_context</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="callable_context.html" title="Struct template callable_context">callable_context</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">Context</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="callable_context/eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <em class="replaceable"><code>see-below</code></em> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2888903"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::callable_context<></code> is a base class that + implements the context protocol by passing fanned-out expression nodes to the derived + context, making it easy to customize the handling of expression types by writing function + overloads. Only those expression types needing special handling require explicit handling. + All others are dispatched to a user-specified default context, + <code class="computeroutput">DefaultCtx</code>. + </p> +<p> + <code class="computeroutput">proto::callable_context<></code> is defined simply as: + </p> +<p> + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DefaultCtx</span> <span class="special">=</span> <span class="identifier">default_context</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">callable_context</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ThisContext</span> <span class="special">=</span> <span class="identifier">Context</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">eval</span> <span class="special">:</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">is_expr_handled_</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">></span><span class="special">,</span> <span class="comment">// For exposition</span> + <a class="link" href="callable_eval.html" title="Struct template callable_eval">proto::context::callable_eval</a><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">ThisContext</span><span class="special">></span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">DefaultCtx</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">eval</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">></span> + <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">{</span><span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + The Boolean metafunction <code class="computeroutput">is_expr_handled_<></code> uses + metaprogramming tricks to determine whether <code class="computeroutput">Context</code> has + an overloaded function call operator that accepts the fanned-out constituents of an + expression of type <code class="computeroutput">Expr</code>. If so, the handling of the + expression is dispatched to + <code class="computeroutput"><a class="link" href="callable_eval.html" title="Struct template callable_eval">proto::context::callable_eval<></a></code>. + If not, it is dispatched to the user-specified <code class="computeroutput">DefaultCtx</code>. + </p> +<p> + <span class="bold"><strong>Example:</strong></span> + </p> +<p> + </p> +<pre class="programlisting"><span class="comment">// An evaluation context that increments all</span> +<span class="comment">// integer terminals in-place.</span> +<span class="keyword">struct</span> <span class="identifier">increment_ints</span> <span class="special">:</span> + <a class="link" href="callable_context.html" title="Struct template callable_context">proto::context::callable_context</a><span class="special"><</span> + <span class="identifier">increment_ints</span> <span class="keyword">const</span> <span class="comment">// derived context</span> + <a class="link" href="null_context.html" title="Struct null_context">proto::context::null_context</a> <span class="keyword">const</span> <span class="comment">// fall-back context</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="comment">// Handle int terminals here:</span> + <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">terminal</span><span class="special">,</span> <span class="keyword">int</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="special">++</span><span class="identifier">i</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + With <code class="computeroutput">increment_ints</code>, we can do the following: + </p> +<p> + </p> +<pre class="programlisting"><a class="link" href="../literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">j</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> +<span class="identifier">proto</span><span class="special">::</span><span class="identifier">eval</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">-</span> <span class="identifier">j</span> <span class="special">*</span> <span class="number">3</span><span class="special">.</span><span class="number">14</span><span class="special">,</span> <span class="identifier">increment_ints</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> <span class="identifier">i</span><span class="special">.</span><span class="identifier">get</span><span class="special">(</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">&&</span> <span class="identifier">j</span><span class="special">.</span><span class="identifier">get</span><span class="special">(</span><span class="special">)</span> <span class="special">==</span> <span class="number">11</span> <span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callable_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/callable_context/eval.html b/doc/html/boost/proto/context/callable_context/eval.html new file mode 100755 index 0000000000..f7a9de2c00 --- /dev/null +++ b/doc/html/boost/proto/context/callable_context/eval.html @@ -0,0 +1,69 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template eval</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../callable_context.html#id2888903" title="Description"> +<link rel="prev" href="../callable_context.html" title="Struct template callable_context"> +<link rel="next" href="../default_eval.html" title="Struct template default_eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../callable_context.html#id2888903"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.callable_context.eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template eval</span></h2> +<p>boost::proto::context::callable_context::eval</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.context.callable_hpp" title="Header <boost/proto/context/callable.hpp>">boost/proto/context/callable.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">Context</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <em class="replaceable"><code>see-below</code></em> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2889922"></a><h2>Description</h2> +<p> + A BinaryFunction that accepts an <code class="computeroutput">Expr</code> and a + <code class="computeroutput">Context</code>, and either fans out the expression and passes + it to the context, or else hands off the expression to <code class="computeroutput">DefaultCtx</code>. + </p> +<p> + If <code class="computeroutput">Context</code> is a <a class="link" href="../../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> + such that it can be invoked with the tag and children of <code class="computeroutput">Expr</code>, as + <code class="computeroutput">ctx(typename Expr::proto_tag(), child_c<0>(expr),... child_c<N>(expr))</code>, + then <code class="computeroutput">eval<Expr, ThisContext></code> inherits from + <code class="computeroutput"><a class="link" href="../callable_eval.html" title="Struct template callable_eval">proto::context::callable_eval</a><Expr, ThisContext></code>. + Otherwise, <code class="computeroutput">eval<Expr, ThisContext></code> inherits from + <code class="computeroutput">DefaultCtx::eval<Expr, Context></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../callable_context.html#id2888903"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/callable_eval.html b/doc/html/boost/proto/context/callable_eval.html new file mode 100755 index 0000000000..03df28db92 --- /dev/null +++ b/doc/html/boost/proto/context/callable_eval.html @@ -0,0 +1,115 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template callable_eval</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp" title="Header <boost/proto/context/callable.hpp>"> +<link rel="prev" href="../external_transforms/when.html" title="Struct template when"> +<link rel="next" href="callable_context.html" title="Struct template callable_context"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../external_transforms/when.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callable_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.callable_eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template callable_eval</span></h2> +<p>boost::proto::context::callable_eval — A BinaryFunction that accepts a Proto expression and a callable context and calls + the context with the expression tag and children as arguments, effectively fanning the + expression out. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp" title="Header <boost/proto/context/callable.hpp>">boost/proto/context/callable.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="callable_eval.html" title="Struct template callable_eval">callable_eval</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span> + <span class="identifier">Context</span><span class="special">(</span> + <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="boost.proto.context.callable_eval.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="callable_eval.html#id1536677-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="callable_eval.html#id1536682-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2888376"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::context::callable_eval<></code> requires that + <code class="computeroutput">Context</code> is a <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> + that can be invoked with <code class="computeroutput">Expr</code>'s tag and children as + expressions, as follows: + </p> +<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span><span class="special">,</span> <span class="special">...</span> <a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span><span class="special">)</span></pre> +<p> + </p> +<div class="refsect2"> +<a name="id2888538"></a><h3> +<a name="id1536677-bb"></a><code class="computeroutput">callable_eval</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1536682-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span> context<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">context</code></span></p></td> +<td><p>The callable evaluation context </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"> + context(typename Expr::proto_tag(), + <a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><0>(expr),... + <a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><N>(expr)) + </code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../external_transforms/when.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.callable_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callable_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/default_context.html b/doc/html/boost/proto/context/default_context.html new file mode 100755 index 0000000000..d78db58b36 --- /dev/null +++ b/doc/html/boost/proto/context/default_context.html @@ -0,0 +1,59 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct default_context</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.default_hpp" title="Header <boost/proto/context/default.hpp>"> +<link rel="prev" href="default_eval.html" title="Struct template default_eval"> +<link rel="next" href="default_context/eval.html" title="Struct template eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.default_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.default_context"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct default_context</span></h2> +<p>boost::proto::context::default_context — An evaluation context that gives the operators their normal C++ semantics.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.default_hpp" title="Header <boost/proto/context/default.hpp>">boost/proto/context/default.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="default_context.html" title="Struct default_context">default_context</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">default_context</span> <span class="keyword">const</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="default_context/eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="default_eval.html" title="Struct template default_eval">proto::context::default_eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">ThisContext</span> <span class="special">></span> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2892317"></a><h2>Description</h2> +<p>An evaluation context that gives the operators their normal C++ semantics.</p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.default_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/default_context/eval.html b/doc/html/boost/proto/context/default_context/eval.html new file mode 100755 index 0000000000..6b34884612 --- /dev/null +++ b/doc/html/boost/proto/context/default_context/eval.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template eval</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../default_context.html#id2892317" title="Description"> +<link rel="prev" href="../default_context.html" title="Struct default_context"> +<link rel="next" href="../null_eval.html" title="Struct template null_eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../default_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../default_context.html#id2892317"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../null_eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.default_context.eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template eval</span></h2> +<p>boost::proto::context::default_context::eval</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.context.default_hpp" title="Header <boost/proto/context/default.hpp>">boost/proto/context/default.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">default_context</span> <span class="keyword">const</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../default_eval.html" title="Struct template default_eval">proto::context::default_eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">ThisContext</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../default_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../default_context.html#id2892317"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../null_eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/default_eval.html b/doc/html/boost/proto/context/default_eval.html new file mode 100755 index 0000000000..0f5fdccee9 --- /dev/null +++ b/doc/html/boost/proto/context/default_eval.html @@ -0,0 +1,267 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template default_eval</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.default_hpp" title="Header <boost/proto/context/default.hpp>"> +<link rel="prev" href="callable_context/eval.html" title="Struct template eval"> +<link rel="next" href="default_context.html" title="Struct default_context"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_context/eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.default_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.default_eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template default_eval</span></h2> +<p>boost::proto::context::default_eval — + A BinaryFunction that accepts a Proto expression and a context, evaluates + each child expression with the context, and combines the result using the + standard C++ meaning for the operator represented by the current expression + node. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.default_hpp" title="Header <boost/proto/context/default.hpp>">boost/proto/context/default.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="default_eval.html" title="Struct template default_eval">default_eval</a> <span class="special">{</span> + <span class="comment">// <a class="link" href="default_eval.html#boost.proto.context.default_evaltypes">types</a></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">tag_type</span> <a name="boost.proto.context.default_eval.Tag"></a><span class="identifier">Tag</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="default_eval.html#boost.proto.context.default_eval.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="default_eval.html#id1537404-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="default_eval.html#id1537409-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="keyword">static</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="identifier">s_expr</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">static</span> <span class="identifier">Context</span> <span class="special">&</span> <span class="identifier">s_context</span><span class="special">;</span> <span class="comment">// For exposition only</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2890532"></a><h2>Description</h2> +<p> + Let <code class="computeroutput"><code class="computeroutput">OP</code></code> be the C++ operator + corresponding to <code class="computeroutput">Expr::proto_tag</code>. (For example, if + <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/plus.html" title="Struct plus">proto::tag::plus</a></code>, let <code class="computeroutput"> + <code class="computeroutput">OP</code></code> be <code class="computeroutput">+</code>.) + </p> +<p> + The behavior of this class is specified in terms of the C++0x <code class="computeroutput">decltype</code> + keyword. In systems where this keyword is not available, Proto uses the Boost.Typeof library to + approximate the behavior. + </p> +<div class="refsect2"> +<a name="id2890603"></a><h3> +<a name="boost.proto.context.default_evaltypes"></a><code class="computeroutput">default_eval</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a name="boost.proto.context.default_eval.result_type"></a><span class="identifier">result_type</span><span class="special">;</span></p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary prefix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <span class="identifier">OP</span> <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary postfix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="identifier">OP</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a binary infix operator, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="identifier">OP</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/subscript.html" title="Struct subscript">proto::tag::subscript</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">[</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">]</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">?</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">1</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">:</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">2</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <a class="link" href="../tag/function.html" title="Struct function">proto::tag::function</a> + </code>, + then the result type is + </p> +<pre class="programlisting"><span class="identifier">decltype</span><span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">(</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">1</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span><span class="special">,</span> + <span class="special">...</span> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">(</span><span class="identifier">s_expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">s_context</span><span class="special">)</span> <span class="special">)</span> +<span class="special">)</span></pre> +<p> + </p> +</li> +</ul></div> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2891573"></a><h3> +<a name="id1537404-bb"></a><code class="computeroutput">default_eval</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1537409-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span> context<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary prefix operator, + then return + </p> +<pre class="programlisting">OP <code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a></code>(expr), context)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a unary postfix operator, + then return + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a></code>(expr), context) OP</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> corresponds to a binary infix operator, + then return + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a></code>(expr), context) OP +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a></code>(expr), context)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/subscript.html" title="Struct subscript">proto::tag::subscript</a></code> + </code>, + then return + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a></code>(expr), context) [ +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a></code>(expr), context) ]</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a></code> + </code>, + then return + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><0>(expr), context) ? +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><1>(expr), context) : +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><2>(expr), context)</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + If <code class="computeroutput">Tag</code> is <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../tag/function.html" title="Struct function">proto::tag::function</a></code> + </code>, + then return + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><0>(expr), context) ( +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><1>(expr), context), +... +<code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><N>(expr), context) )</pre> +<p> + </p> +</li> +</ul></div> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">context</code></span></p></td> +<td><p>The evaluation context </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr> +</tbody> +</table></div></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_context/eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.default_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/null_context.html b/doc/html/boost/proto/context/null_context.html new file mode 100755 index 0000000000..0607cbfb7a --- /dev/null +++ b/doc/html/boost/proto/context/null_context.html @@ -0,0 +1,59 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct null_context</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.null_hpp" title="Header <boost/proto/context/null.hpp>"> +<link rel="prev" href="null_eval.html" title="Struct template null_eval"> +<link rel="next" href="null_context/eval.html" title="Struct template eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="null_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.null_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.null_context"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct null_context</span></h2> +<p>boost::proto::context::null_context — An evaluation context for <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval()</a> that simply evaluates + each child expression, doesn't combine the results at all, and returns void.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.null_hpp" title="Header <boost/proto/context/null.hpp>">boost/proto/context/null.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="null_context.html" title="Struct null_context">null_context</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">null_context</span> <span class="keyword">const</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="null_context/eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="null_eval.html" title="Struct template null_eval">proto::context::null_eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">ThisContext</span> <span class="special">></span> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2893225"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="null_eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.null_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_context/eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/null_context/eval.html b/doc/html/boost/proto/context/null_context/eval.html new file mode 100755 index 0000000000..30c06ae5c5 --- /dev/null +++ b/doc/html/boost/proto/context/null_context/eval.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template eval</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../null_context.html#id2893225" title="Description"> +<link rel="prev" href="../null_context.html" title="Struct null_context"> +<link rel="next" href="../../../../CallableTransform.html" title="Concept CallableTransform"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../null_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_context.html#id2893225"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../../CallableTransform.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.null_context.eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template eval</span></h2> +<p>boost::proto::context::null_context::eval</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.context.null_hpp" title="Header <boost/proto/context/null.hpp>">boost/proto/context/null.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> ThisContext <span class="special">=</span> <span class="identifier">null_context</span> <span class="keyword">const</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="eval.html" title="Struct template eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../null_eval.html" title="Struct template null_eval">proto::context::null_eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">ThisContext</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../null_context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_context.html#id2893225"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../../CallableTransform.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/context/null_eval.html b/doc/html/boost/proto/context/null_eval.html new file mode 100755 index 0000000000..9d776beea1 --- /dev/null +++ b/doc/html/boost/proto/context/null_eval.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template null_eval</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.context.null_hpp" title="Header <boost/proto/context/null.hpp>"> +<link rel="prev" href="default_context/eval.html" title="Struct template eval"> +<link rel="next" href="null_context.html" title="Struct null_context"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_context/eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.null_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.context.null_eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template null_eval</span></h2> +<p>boost::proto::context::null_eval</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.context.null_hpp" title="Header <boost/proto/context/null.hpp>">boost/proto/context/null.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="null_eval.html" title="Struct template null_eval">null_eval</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <a name="boost.proto.context.null_eval.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="null_eval.html#id1538086-bb">public member functions</a></span> + <span class="keyword">void</span> <a class="link" href="null_eval.html#id1538091-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2892881"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2892885"></a><h3> +<a name="id1538086-bb"></a><code class="computeroutput">null_eval</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">void</span> <a name="id1538091-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span> context<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + For <code class="computeroutput">N</code> in <code class="computeroutput">[0,Expr arity)</code>, + evaluate: + </p> +<pre class="programlisting"><code class="computeroutput"><a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval</a></code>(<code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a></code><N>(expr), context)</pre> +<p> + </p> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="default_context/eval.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.context.null_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/convertible_to.html b/doc/html/boost/proto/convertible_to.html new file mode 100755 index 0000000000..41669f18e9 --- /dev/null +++ b/doc/html/boost/proto/convertible_to.html @@ -0,0 +1,60 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template convertible_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="exact.html" title="Struct template exact"> +<link rel="next" href="vararg.html" title="Struct template vararg"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="exact.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vararg.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.convertible_to"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template convertible_to</span></h2> +<p>boost::proto::convertible_to — For matching terminals that are convertible to a type.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="convertible_to.html" title="Struct template convertible_to">convertible_to</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2765633"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::convertible_to<></code> to match a terminal that is + convertible to some type. For example, the grammar + <code class="computeroutput"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><proto::convertible_to<int> ></code> + will match any terminal whose argument is convertible to an integer. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="exact.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="vararg.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/deduce_domain.html b/doc/html/boost/proto/deduce_domain.html new file mode 100755 index 0000000000..72c32a4973 --- /dev/null +++ b/doc/html/boost/proto/deduce_domain.html @@ -0,0 +1,121 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct deduce_domain</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="basic_default_domain.html" title="Struct basic_default_domain"> +<link rel="next" href="is_domain.html" title="Struct template is_domain"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_default_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.deduce_domain"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct deduce_domain</span></h2> +<p>boost::proto::deduce_domain — A pseudo-domain for use in functions and metafunctions that require a domain parameter. + It indicates that the domain of the parent node should be inferred from the domains of the child nodes.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="deduce_domain.html" title="Struct deduce_domain">deduce_domain</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2715593"></a><h2>Description</h2> +<p> + When <code class="computeroutput">proto::deduce_domain</code> is used as a domain — either + explicitly or implicitly by + <code class="computeroutput"><a class="link" href="make_expr_id1503817.html" title="Function make_expr">proto::make_expr</a>()</code>, + <code class="computeroutput"><a class="link" href="unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr</a>()</code>, + or Proto's operator overloads — Proto will use the domains of the child expressions to + compute the domain of the parent. It is done in such a way that (A) expressions in domains + that share a common super-domain are interoperable, and (B) expressions that are in + the default domain (or a sub-domain thereof) are interoperable with <span class="emphasis"><em>all</em></span> + expressions. The rules are as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + A sub-domain is <span class="emphasis"><em>stronger</em></span> than its super-domain. + </li> +<li class="listitem"> +<code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code>, + <code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code> + and all their sub-domains are <span class="emphasis"><em>weaker</em></span> than all other domains. + </li> +<li class="listitem"> +<code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code> + is weaker than + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code>. + </li> +<li class="listitem"> + For each child, define a set of domains <span class="emphasis"><em>S<sub>N</sub></em></span> + that includes the child's domain and all its super-domains. + </li> +<li class="listitem"> + Define a set <span class="emphasis"><em>I<sub>S</sub></em></span> that is the intersection of + all the individual sets <span class="emphasis"><em>S<sub>N</sub></em></span> that don't contain + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code> or + <code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code>. + </li> +<li class="listitem"> + Define a set <span class="emphasis"><em>I<sub>W</sub></em></span> that is the intersection of + all the individual sets <span class="emphasis"><em>S<sub>N</sub></em></span> that contain + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code> or + <code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code>. + </li> +<li class="listitem"> + Define a set <span class="emphasis"><em>P</em></span> that is the union of + <span class="emphasis"><em>I<sub>S</sub></em></span> and + <span class="emphasis"><em>I<sub>W</sub></em></span>. + </li> +<li class="listitem"> + The common domain is the strongest domain in set <span class="emphasis"><em>P</em></span>, with the + following caveats. + </li> +<li class="listitem"> + Let <span class="emphasis"><em>U</em></span> be the union of all sets + <span class="emphasis"><em>S<sub>N</sub></em></span>. If the result is + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code> or + <code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code> + and <span class="emphasis"><em>U</em></span> contains an element that is <span class="emphasis"><em>not </em></span><code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code> or + <code class="computeroutput"><a class="link" href="basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code>, + it is an error. + </li> +</ul></div> +<p> + </p> +<p> + Note: the above description sounds like it would be expensive to compute at compile time. + In fact, it can all be done using C++ function overloading. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_default_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/deep_copy_id1493807.html b/doc/html/boost/proto/deep_copy_id1493807.html new file mode 100755 index 0000000000..87f9f28e50 --- /dev/null +++ b/doc/html/boost/proto/deep_copy_id1493807.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function template deep_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>"> +<link rel="prev" href="functional/deep_copy/result_This_Expr__id1493720.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="domain.html" title="Struct template domain"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/deep_copy/result_This_Expr__id1493720.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.deep_copy_id1493807"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function template deep_copy</span></h2> +<p>boost::proto::deep_copy — A function for deep-copying Proto expression trees. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>">boost/proto/deep_copy.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/deep_copy.html" title="Struct template deep_copy">proto::result_of::deep_copy</a><span class="special"><</span><span class="identifier">Expr</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">deep_copy</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2712912"></a><h2>Description</h2> +<p> + A function for deep-copying Proto expression trees. When a tree is deep-copied, all internal + nodes and terminals held by reference are instead held by value.</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Notes:</span></p></td> +<td> +<p> + Terminals of reference-to-function type are left unchanged. + </p> +<p> + Equivalent to <code class="computeroutput"><a class="link" href="functional/deep_copy.html" title="Struct deep_copy">proto::functional::deep_copy</a>()(expr) + </code>. + </p> +</td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/deep_copy/result_This_Expr__id1493720.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/default_domain.html b/doc/html/boost/proto/default_domain.html new file mode 100755 index 0000000000..ad76cab8e1 --- /dev/null +++ b/doc/html/boost/proto/default_domain.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct default_domain</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="domain/as_child.html" title="Struct template as_child"> +<link rel="next" href="basic_default_domain.html" title="Struct basic_default_domain"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="domain/as_child.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_default_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.default_domain"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct default_domain</span></h2> +<p>boost::proto::default_domain — The domain expressions have by default, if <code class="computeroutput"> + <a class="link" href="extends.html" title="Struct template extends">proto::extends<></a></code> has not been used + to associate a domain with an expression.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="default_domain.html" title="Struct default_domain">default_domain</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="domain.html" title="Struct template domain">proto::domain</a><span class="special"><</span><span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="domain/as_child.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_default_domain.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/default_generator.html b/doc/html/boost/proto/default_generator.html new file mode 100755 index 0000000000..fc6554fea4 --- /dev/null +++ b/doc/html/boost/proto/default_generator.html @@ -0,0 +1,96 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct default_generator</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="flatten_id1500995.html" title="Function flatten"> +<link rel="next" href="default_generator/result_This_Expr__id1501199.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="flatten_id1500995.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_generator/result_This_Expr__id1501199.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.default_generator"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct default_generator</span></h2> +<p>boost::proto::default_generator — A simple generator that passes an expression through unchanged.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="default_generator.html" title="Struct default_generator">default_generator</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="default_generator/result_This_Expr__id1501199.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="default_generator/result_This_Expr__id1501199.html#boost.proto.default_generator.result_This(Expr)_id1501199.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="default_generator.html#id1501234-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Expr</span> <a class="link" href="default_generator.html#id1501239-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2744979"></a><h2>Description</h2> +<p> + Generators are intended for use as the first template parameter to the + <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code> + class template and control if and how expressions within that domain are to be customized. + The <code class="computeroutput">proto::default_generator</code> makes no modifications to the + expressions passed to it. + </p> +<div class="refsect2"> +<a name="id2745009"></a><h3> +<a name="id1501234-bb"></a><code class="computeroutput">default_generator</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Expr</span> <a name="id1501239-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>A Proto expression</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">expr</code></p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="flatten_id1500995.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_generator/result_This_Expr__id1501199.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/default_generator/result_This_Expr__id1501199.html b/doc/html/boost/proto/default_generator/result_This_Expr__id1501199.html new file mode 100755 index 0000000000..d85c741d4a --- /dev/null +++ b/doc/html/boost/proto/default_generator/result_This_Expr__id1501199.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../default_generator.html#id2744979" title="Description"> +<link rel="prev" href="../default_generator.html" title="Struct default_generator"> +<link rel="next" href="../basic_default_generator.html" title="Struct basic_default_generator"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../default_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../default_generator.html#id2744979"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_default_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.default_generator.result_This(Expr)_id1501199"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::default_generator::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1501199.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto.default_generator.result_This(Expr)_id1501199.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../default_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../default_generator.html#id2744979"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_default_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/dereference.html b/doc/html/boost/proto/dereference.html new file mode 100755 index 0000000000..43043bf48c --- /dev/null +++ b/doc/html/boost/proto/dereference.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template dereference</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="negate/impl.html" title="Struct template impl"> +<link rel="next" href="dereference/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="negate/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dereference/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.dereference"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template dereference</span></h2> +<p>boost::proto::dereference — A metafunction for generating defereference expression types, + a grammar element for matching dereference expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="dereference.html" title="Struct template dereference">dereference</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">dereference</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/dereference.html" title="Struct dereference">proto::tag::dereference</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.dereference.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/dereference.html" title="Struct dereference">proto::tag::dereference</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.dereference.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="dereference/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><dereference>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2816602"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="negate/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dereference/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/dereference/impl.html b/doc/html/boost/proto/dereference/impl.html new file mode 100755 index 0000000000..bbb01c84ea --- /dev/null +++ b/doc/html/boost/proto/dereference/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../dereference.html#id2816602" title="Description"> +<link rel="prev" href="../dereference.html" title="Struct template dereference"> +<link rel="next" href="../complement.html" title="Struct template complement"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../dereference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dereference.html#id2816602"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../complement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.dereference.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::dereference::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><dereference>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../dereference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dereference.html#id2816602"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../complement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/display_expr_id1492920.html b/doc/html/boost/proto/display_expr_id1492920.html new file mode 100755 index 0000000000..251e493f8d --- /dev/null +++ b/doc/html/boost/proto/display_expr_id1492920.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function display_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>"> +<link rel="prev" href="functional/display_expr.html" title="Struct display_expr"> +<link rel="next" href="assert_matches.html" title="Function template assert_matches"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/display_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_matches.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.display_expr_id1492920"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function display_expr</span></h2> +<p>boost::proto::display_expr — Pretty-print a Proto expression tree. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>">boost/proto/debug.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">void</span> <span class="identifier">display_expr</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&</span> sout<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="keyword">void</span> <span class="identifier">display_expr</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2710661"></a><h2>Description</h2> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The Proto expression tree to pretty-print </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">sout</code></span></p></td> +<td><p> + The <code class="computeroutput">ostream</code> to which the output should be written. If not specified, defaults to <code class="computeroutput">std::cout</code>. + </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Notes:</span></p></td> +<td><p> + Equivalent to <code class="computeroutput"><a class="link" href="functional/display_expr.html" title="Struct display_expr">proto::functional::display_expr</a>(0, sout)(expr)</code>. + </p></td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/display_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_matches.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/divides.html b/doc/html/boost/proto/divides.html new file mode 100755 index 0000000000..43e7ac766c --- /dev/null +++ b/doc/html/boost/proto/divides.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template divides</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="multiplies/impl.html" title="Struct template impl"> +<link rel="next" href="divides/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.divides"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template divides</span></h2> +<p>boost::proto::divides — A metafunction for generating divides expression types, + a grammar element for matching divides expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="divides.html" title="Struct template divides">divides</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">divides</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/divides.html" title="Struct divides">proto::tag::divides</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.divides.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/divides.html" title="Struct divides">proto::tag::divides</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.divides.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="divides/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><divides>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2822616"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/divides/impl.html b/doc/html/boost/proto/divides/impl.html new file mode 100755 index 0000000000..db38bf4a03 --- /dev/null +++ b/doc/html/boost/proto/divides/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../divides.html#id2822616" title="Description"> +<link rel="prev" href="../divides.html" title="Struct template divides"> +<link rel="next" href="../modulus.html" title="Struct template modulus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../divides.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../divides.html#id2822616"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../modulus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.divides.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::divides::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><divides>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../divides.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../divides.html#id2822616"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../modulus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/divides_assign.html b/doc/html/boost/proto/divides_assign.html new file mode 100755 index 0000000000..699f94e3d0 --- /dev/null +++ b/doc/html/boost/proto/divides_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template divides_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="multiplies_assign/impl.html" title="Struct template impl"> +<link rel="next" href="divides_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.divides_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template divides_assign</span></h2> +<p>boost::proto::divides_assign — A metafunction for generating divides-assign expression types, + a grammar element for matching divides-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="divides_assign.html" title="Struct template divides_assign">divides_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">divides_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/divides_assign.html" title="Struct divides_assign">proto::tag::divides_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.divides_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/divides_assign.html" title="Struct divides_assign">proto::tag::divides_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.divides_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="divides_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><divides_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2834948"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/divides_assign/impl.html b/doc/html/boost/proto/divides_assign/impl.html new file mode 100755 index 0000000000..d9eb68c103 --- /dev/null +++ b/doc/html/boost/proto/divides_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../divides_assign.html#id2834948" title="Description"> +<link rel="prev" href="../divides_assign.html" title="Struct template divides_assign"> +<link rel="next" href="../modulus_assign.html" title="Struct template modulus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../divides_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../divides_assign.html#id2834948"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../modulus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.divides_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::divides_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><divides_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../divides_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../divides_assign.html#id2834948"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../modulus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/domain.html b/doc/html/boost/proto/domain.html new file mode 100755 index 0000000000..d25097c71f --- /dev/null +++ b/doc/html/boost/proto/domain.html @@ -0,0 +1,145 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template domain</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="deep_copy_id1493807.html" title="Function template deep_copy"> +<link rel="next" href="domain/as_expr.html" title="Struct template as_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="deep_copy_id1493807.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain/as_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.domain"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template domain</span></h2> +<p>boost::proto::domain — For use in defining domain tags to be used with <code class="computeroutput"> + <a class="link" href="extends.html" title="Struct template extends">proto::extends<></a></code>, + <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>()</code> and + <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_DEFINE_OPERATORS.html" title="Macro BOOST_PROTO_DEFINE_OPERATORS">BOOST_PROTO_DEFINE_OPERATORS</a>()</code>. + A <span class="emphasis"><em>domain</em></span> associates an expression type with a <span class="emphasis"><em>generator</em></span>, + and optionally a <span class="emphasis"><em>grammar</em></span>. It may also have a super-domain. Expressions + in a sub-domain are interoperable (i.e. can be combined freely with) expressions in a + super-domain. Finally, domains control how non-Proto objects are turned into Proto + expressions and how they are combined to form larger Proto expressions. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Generator <span class="special">=</span> <a class="link" href="default_generator.html" title="Struct default_generator">proto::default_generator</a><span class="special">,</span> + <span class="keyword">typename</span> Grammar <span class="special">=</span> <a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="keyword">typename</span> Super <span class="special">=</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="domain.html" title="Struct template domain">domain</a> <span class="special">:</span> <span class="keyword"></span> Generator <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Grammar</span> <a name="boost.proto.domain.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Generator</span> <a name="boost.proto.domain.proto_generator"></a><span class="identifier">proto_generator</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Super</span> <a name="boost.proto.domain.proto_super_domain"></a><span class="identifier">proto_super_domain</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + + <span class="comment">// A callable unary MonomorphicFunctionObject that specifies how objects are + // turned into Proto expressions in this domain. The resulting expression + // object is suitable for storage in a local variable.</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="domain/as_expr.html" title="Struct template as_expr">as_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="domain/as_expr.html#boost.proto.domain.as_expr.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="domain/as_expr.html#id1494315-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="domain/as_expr.html#id1494320-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// A callable unary MonomorphicFunctionObject that specifies how objects are + // turned into Proto expressions in this domain, for use in scenarios where + // the resulting expression is intended to be made a child of another + // expression.</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="domain/as_child.html" title="Struct template as_child">as_child</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="domain/as_child.html#boost.proto.domain.as_child.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="domain/as_child.html#id1494480-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="domain/as_child.html#id1494484-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2713912"></a><h2>Description</h2> +<p> + The Generator parameter determines how new expressions in the domain are post-processed. Typically, a generator + wraps all new expressions in a wrapper that imparts domain-specific behaviors to expressions within + its domain. (See <code class="computeroutput"><a class="link" href="extends.html" title="Struct template extends">proto::extends<></a></code>.) + </p> +<p> + The Grammar parameter determines whether a given expression is valid within the domain, and automatically + disables any operator overloads which would cause an invalid expression to be created. By default, + the Grammar parameter defaults to the wildcard, <code class="computeroutput"><a class="link" href="_.html" title="Struct _">proto::_</a> + </code>, which makes all expressions valid within the domain. + </p> +<p> + The Super parameter declares the domain currently being defined to be a sub-domain of Super. An expression in + a sub-domain can be freely combined with expressions in its super-domain (and <span class="emphasis"><em>its</em></span> + super-domain, etc.). + </p> +<p> + Example: </p> +<pre class="programlisting"> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">MyExpr</span><span class="special">;</span> + + <span class="keyword">struct</span> <span class="identifier">MyGrammar</span> + <span class="special">:</span> <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">_</span><span class="special">></span><span class="special">,</span> <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><span class="special"><</span><span class="identifier">MyGrammar</span><span class="special">,</span> <span class="identifier">MyGrammar</span><span class="special">></span> <span class="special">></span> + <span class="special">{</span><span class="special">}</span><span class="special">;</span> + + <span class="comment">// Define MyDomain, in which all expressions are</span> + <span class="comment">// wrapped in MyExpr<> and only expressions that</span> + <span class="comment">// conform to MyGrammar are allowed.</span> + <span class="keyword">struct</span> <span class="identifier">MyDomain</span> + <span class="special">:</span> <a class="link" href="domain.html" title="Struct template domain">proto::domain</a><span class="special"><</span><a class="link" href="generator.html" title="Struct template generator">proto::generator</a><span class="special"><</span><span class="identifier">MyExpr</span><span class="special">></span><span class="special">,</span> <span class="identifier">MyGrammar</span><span class="special">></span> + <span class="special">{</span><span class="special">}</span><span class="special">;</span> + + <span class="comment">// Use MyDomain to define MyExpr</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">MyExpr</span> + <span class="special">:</span> <a class="link" href="extends.html" title="Struct template extends">proto::extends</a><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">MyExpr</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">></span><span class="special">,</span> <span class="identifier">MyDomain</span><span class="special">></span> + <span class="special">{</span> + <span class="comment">// ...</span> + <span class="special">}</span><span class="special">;</span> + </pre> +<p> + </p> +<p> + The <code class="computeroutput"><a class="link" href="domain/as_expr.html" title="Struct template as_expr">domain::as_expr</a><></code> and + <code class="computeroutput"><a class="link" href="domain/as_child.html" title="Struct template as_child">domain::as_child</a><></code> member + templates define how non-Proto objects are turned into Proto terminals and how Proto + expressions should be processed before they are combined to form larger expressions. + They can be overridden in a derived domain for customization. See their descriptions to + understand how Proto uses these two templates and what their default behavior is. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="deep_copy_id1493807.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain/as_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/domain/as_child.html b/doc/html/boost/proto/domain/as_child.html new file mode 100755 index 0000000000..d655507523 --- /dev/null +++ b/doc/html/boost/proto/domain/as_child.html @@ -0,0 +1,124 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_child</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../domain.html#id2713912" title="Description"> +<link rel="prev" href="as_expr.html" title="Struct template as_expr"> +<link rel="next" href="../default_domain.html" title="Struct default_domain"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../domain.html#id2713912"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_domain.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.domain.as_child"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_child</span></h2> +<p>boost::proto::domain::as_child — + A callable unary MonomorphicFunctionObject that specifies how objects are turned into + Proto expressions in this domain, for use in scenarios where the resulting expression is + intended to be made a child of another expression. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span> + +<span class="comment">// A callable unary MonomorphicFunctionObject that specifies how objects are +// turned into Proto expressions in this domain, for use in scenarios where +// the resulting expression is intended to be made a child of another +// expression.</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_child.html" title="Struct template as_child">as_child</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.domain.as_child.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="as_child.html#id1494480-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="as_child.html#id1494484-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2715081"></a><h2>Description</h2> +<p> + A unary MonomorphicFunctionObject that specifies how objects are turned into Proto + expressions in this domain. The resulting expression object is suitable for storage + as a child of another expression. In that scenario, it is usually + preferable to store child expressions by reference; or, in the case of objects that + are not yet Proto expressions, to wrap them by reference in a new Proto terminal + expression. (Contrast this description with the description for + <code class="computeroutput"><a class="link" href="as_expr.html" title="Struct template as_expr">proto::domain::as_expr</a></code>.) + </p> +<p> + The <code class="computeroutput">as_child</code> function object turns objects into + Proto expressions, if they are not already, by making them Proto terminals held by + reference. Objects that are already Proto expressions are simply returned by + reference. If + <code class="computeroutput">wants_basic_expr<Generator>::value</code> is true, + then let <span class="emphasis"><em>E</em></span> be + <code class="computeroutput"><a class="link" href="../basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code>; + otherwise, let <span class="emphasis"><em>E</em></span> be + <code class="computeroutput"><a class="link" href="../expr.html" title="Struct template expr">proto::expr</a></code>. + Given an lvalue <code class="computeroutput">t</code> of type + <code class="computeroutput">T</code>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + If <code class="computeroutput">T</code> is not a Proto expression type, the resulting + terminal is + <code class="computeroutput">Generator()(<em class="replaceable"><code>E</code></em><tag::terminal, + term< <code class="computeroutput">T &</code> > >::make(t))</code>. + </li> +<li class="listitem"> + Otherwise, the result is the lvalue <code class="computeroutput">t</code>. + </li> +</ul></div> +<p> + </p> +<div class="refsect2"> +<a name="id2715203"></a><h3> +<a name="id1494480-bb"></a><code class="computeroutput">as_child</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1494484-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap.</p></td> +</tr></tbody> +</table></div></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../domain.html#id2713912"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_domain.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/domain/as_expr.html b/doc/html/boost/proto/domain/as_expr.html new file mode 100755 index 0000000000..e2fc59a5ed --- /dev/null +++ b/doc/html/boost/proto/domain/as_expr.html @@ -0,0 +1,136 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../domain.html#id2713912" title="Description"> +<link rel="prev" href="../domain.html" title="Struct template domain"> +<link rel="next" href="as_child.html" title="Struct template as_child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../domain.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../domain.html#id2713912"><img src="../../../../../doc/src/images/up.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_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.domain.as_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_expr</span></h2> +<p>boost::proto::domain::as_expr — + A callable unary MonomorphicFunctionObject that specifies how objects are turned into + Proto expressions in this domain. The resulting expression object is suitable for storage + in a local variable. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span> + +<span class="comment">// A callable unary MonomorphicFunctionObject that specifies how objects are +// turned into Proto expressions in this domain. The resulting expression +// object is suitable for storage in a local variable.</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_expr.html" title="Struct template as_expr">as_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.domain.as_expr.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="as_expr.html#id1494315-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="as_expr.html#id1494320-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2714589"></a><h2>Description</h2> +<p> + A unary MonomorphicFunctionObject that specifies how objects are turned into Proto + expressions in this domain. The resulting expression object is suitable for storage + in a local variable. In that scenario, it is usually preferable to return + expressions by value; and, in the case of objects that are not yet Proto expressions, + to wrap them by value (if possible) in a new Proto terminal expression. (Contrast + this description with the description for + <code class="computeroutput"><a class="link" href="as_child.html" title="Struct template as_child">proto::domain::as_child</a></code>.) + </p> +<p> + The <code class="computeroutput">as_expr</code> function object turns objects into + Proto expressions, if they are not already, by making them Proto terminals held by + value if possible. Objects that are already Proto expressions are simply returned + by value. If + <code class="computeroutput">wants_basic_expr<Generator>::value</code> is true, + then let <span class="emphasis"><em>E</em></span> be + <code class="computeroutput"><a class="link" href="../basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code>; + otherwise, let <span class="emphasis"><em>E</em></span> be + <code class="computeroutput"><a class="link" href="../expr.html" title="Struct template expr">proto::expr</a></code>. + Given an lvalue <code class="computeroutput">t</code> of type + <code class="computeroutput">T</code>: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> + If <code class="computeroutput">T</code> is not a Proto expression type, the resulting + terminal is calculated as follows: + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> + If <code class="computeroutput">T</code> is a function type, an abstract type, or + a type derived from <code class="computeroutput">std::ios_base</code>, let + <em class="replaceable"><code>A</code></em> be <code class="computeroutput">T &</code>. + </li> +<li class="listitem"> + Otherwise, let <em class="replaceable"><code>A</code></em> be the type + <code class="computeroutput">T</code> stripped of cv-qualifiers. + </li> +</ul></div> + Then, the result of <code class="computeroutput">as_expr<T>()(t)</code> is + <code class="computeroutput">Generator()(<em class="replaceable"><code>E</code></em><tag::terminal, + term< <em class="replaceable"><code>A</code></em> > >::make(t))</code>. + </li> +<li class="listitem"> + Otherwise, the result is <code class="computeroutput">t</code> converted to an + (un-const) rvalue. + </li> +</ul></div> +<p> + </p> +<div class="refsect2"> +<a name="id2714761"></a><h3> +<a name="id1494315-bb"></a><code class="computeroutput">as_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1494320-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap.</p></td> +</tr></tbody> +</table></div></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../domain.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../domain.html#id2713912"><img src="../../../../../doc/src/images/up.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_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/domain_of.html b/doc/html/boost/proto/domain_of.html new file mode 100755 index 0000000000..d96e7232bb --- /dev/null +++ b/doc/html/boost/proto/domain_of.html @@ -0,0 +1,61 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template domain_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="is_domain.html" title="Struct template is_domain"> +<link rel="next" href="functional/eval.html" title="Struct eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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/eval.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.domain_of"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template domain_of</span></h2> +<p>boost::proto::domain_of</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="domain_of.html" title="Struct template domain_of">domain_of</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">domain</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">T</span></code></em> <a name="boost.proto.domain_of.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2716177"></a><h2>Description</h2> +<p> + A metafunction that returns the domain of a given type. If <code class="computeroutput">T</code> is a Proto + expression type, it returns that expression's associated domain. If not, it returns + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.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/eval.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/equal_to.html b/doc/html/boost/proto/equal_to.html new file mode 100755 index 0000000000..694f54956a --- /dev/null +++ b/doc/html/boost/proto/equal_to.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="greater_equal/impl.html" title="Struct template impl"> +<link rel="next" href="equal_to/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_equal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.equal_to"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template equal_to</span></h2> +<p>boost::proto::equal_to — A metafunction for generating equal-to expression types, + a grammar element for matching equal-to expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="equal_to.html" title="Struct template equal_to">equal_to</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">equal_to</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/equal_to.html" title="Struct equal_to">proto::tag::equal_to</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.equal_to.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/equal_to.html" title="Struct equal_to">proto::tag::equal_to</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.equal_to.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="equal_to/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><equal_to>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2827188"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/equal_to/impl.html b/doc/html/boost/proto/equal_to/impl.html new file mode 100755 index 0000000000..129389f4c9 --- /dev/null +++ b/doc/html/boost/proto/equal_to/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../equal_to.html#id2827188" title="Description"> +<link rel="prev" href="../equal_to.html" title="Struct template equal_to"> +<link rel="next" href="../not_equal_to.html" title="Struct template not_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="../equal_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../equal_to.html#id2827188"><img src="../../../../../doc/src/images/up.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_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.equal_to.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::equal_to::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><equal_to>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../equal_to.html#id2827188"><img src="../../../../../doc/src/images/up.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_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/eval_id1495281.html b/doc/html/boost/proto/eval_id1495281.html new file mode 100755 index 0000000000..600eb62d2b --- /dev/null +++ b/doc/html/boost/proto/eval_id1495281.html @@ -0,0 +1,85 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function eval</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>"> +<link rel="prev" href="result_of/eval.html" title="Struct template eval"> +<link rel="next" href="basic_expr.html" title="Struct template basic_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/eval.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.eval_id1495281"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function eval</span></h2> +<p>boost::proto::eval — Evaluate a given Proto expression with a given context. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>">boost/proto/eval.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">eval</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span> context<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">eval</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="keyword">const</span> <span class="special">&</span> context<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2718479"></a><h2>Description</h2> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">context</code></span></p></td> +<td><p>The context in which the expression should be evaluated.</p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The Proto expression to evaluate.</p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">typename Context::template eval<Expr>()(expr, context)</code> + </p></td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/eval.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/exact.html b/doc/html/boost/proto/exact.html new file mode 100755 index 0000000000..5597c202d2 --- /dev/null +++ b/doc/html/boost/proto/exact.html @@ -0,0 +1,61 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template exact</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="switch_/impl.html" title="Struct template impl"> +<link rel="next" href="convertible_to.html" title="Struct template convertible_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="switch_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="convertible_to.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.exact"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template exact</span></h2> +<p>boost::proto::exact — For forcing exact matches of terminal types.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="exact.html" title="Struct template exact">exact</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2765502"></a><h2>Description</h2> +<p>By default, matching terminals ignores references and cv-qualifiers. For instance, + a terminal expression of type + <code class="computeroutput"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><int const &>::type</code> + will match the grammar <code class="computeroutput"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><int></code>. + If that is not desired, you can force an exact match with + <code class="computeroutput"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><proto::exact<int> ></code>. + This will only match integer terminals where the terminal is held by value.</p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="switch_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="convertible_to.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/expr.html b/doc/html/boost/proto/expr.html new file mode 100755 index 0000000000..cf8326df69 --- /dev/null +++ b/doc/html/boost/proto/expr.html @@ -0,0 +1,251 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>"> +<link rel="prev" href="basic_expr.html" title="Struct template basic_expr"> +<link rel="next" href="expr/result.html" title="Struct template result"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expr/result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template expr</span></h2> +<p>boost::proto::expr — Representation of a node in an expression tree.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>">boost/proto/expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Args<span class="special">,</span> <span class="keyword">long</span> Arity <span class="special">=</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">arity</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="expr.html" title="Struct template expr">expr</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Tag</span> <a name="boost.proto.expr.proto_tag"></a><span class="identifier">proto_tag</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Args</span> <a name="boost.proto.expr.proto_args"></a><span class="identifier">proto_args</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special"><</span> <span class="identifier">Arity</span> <span class="special">></span> <a name="boost.proto.expr.proto_arity"></a><span class="identifier">proto_arity</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a> <a name="boost.proto.expr.proto_domain"></a><span class="identifier">proto_domain</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">,</span> <span class="identifier">Arity</span> <span class="special">></span> <a name="boost.proto.expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">expr</span> <a name="boost.proto.expr.proto_base_expr"></a><span class="identifier">proto_base_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">expr</span> <a name="boost.proto.expr.proto_derived_expr"></a><span class="identifier">proto_derived_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">child</span><em class="replaceable"><code><span class="identifier">N</span></code></em> <a name="boost.proto.expr.proto_childN"></a><span class="identifier">proto_childN</span><span class="special">;</span> <span class="comment">// For each <em class="replaceable"><code>N</code></em> in <em class="replaceable"><code>[0,max(Arity,1))</code></em>.</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Signature<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="expr/result.html" title="Struct template result">result</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr/result.html#boost.proto.expr.result.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="expr.html#id1496090-bb">public static functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <span class="keyword">static</span> <span class="identifier">expr</span> <span class="keyword">const</span> <a class="link" href="expr.html#id1496097-bb"><span class="identifier">make</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="expr.html#id1496157-bb">public member functions</a></span> + <span class="identifier">expr</span> <span class="special">&</span> <a class="link" href="expr.html#id1496162-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">expr</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="expr.html#id1496177-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496202-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496246-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496285-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496326-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496370-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496414-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496453-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496494-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496538-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="expr.html#id1496587-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="identifier">proto_child</span><em class="replaceable"><code><span class="identifier">N</span></code></em> <span class="identifier">childN</span><span class="special">;</span> <span class="comment">// For each <em class="replaceable"><code>N</code></em> in <em class="replaceable"><code>[0,max(Arity,1))</code></em>.</span> + <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">proto_arity_c</span><span class="special">;</span> <span class="comment">// <code class="computeroutput">= Arity;</code></span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2721372"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::expr<></code> is a node in an expression + template tree. It is a container for its child sub-trees. It also serves as the + terminal nodes of the tree. + </p> +<p> + <code class="computeroutput">Tag</code> is type that represents the operation + encoded by this expression. It is typically one of the structs in the + <code class="computeroutput">boost::proto::tag</code> namespace, but it doesn't + have to be. If <code class="computeroutput">Arity</code> is 0 then this + <code class="computeroutput">expr<></code> type represents a leaf in the + expression tree. + </p> +<p> + <code class="computeroutput">Args</code> is a list of types representing + the children of this expression. It is an instantiation of one of + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::list1<></a></code>, + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::list2<></a></code>, + etc. The child types + must all themselves be either <code class="computeroutput">proto::expr<></code> + or <code class="computeroutput">proto::basic_expr<>&</code> (or extensions thereof via + <code class="computeroutput"><a class="link" href="extends.html" title="Struct template extends">proto::extends<></a></code> or + <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>()</code>), unless + <code class="computeroutput">Arity</code> is 0, in which case + <code class="computeroutput">Args</code> must be + <code class="computeroutput">proto::term<T></code>, where + <code class="computeroutput">T</code> can be any type. + </p> +<p> + <code class="computeroutput">proto::expr<></code> is a valid Fusion + random-access sequence, where the elements of the sequence are the child + expressions. + </p> +<div class="refsect2"> +<a name="id2721527"></a><h3> +<a name="id1496090-bb"></a><code class="computeroutput">expr</code> public static functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <span class="keyword">static</span> <span class="identifier">expr</span> <span class="keyword">const</span> <a name="id1496097-bb"></a><span class="identifier">make</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + The number of supplied arguments must be <code class="computeroutput">max(Arity,1)</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + A new <code class="computeroutput">expr</code> object initialized with the specified arguments. + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2721671"></a><h3> +<a name="id1496157-bb"></a><code class="computeroutput">expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">expr</span> <span class="special">&</span> <a name="id1496162-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">*this</code></p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">expr</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id1496177-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts.</p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496202-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy assignment expression</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the assignment operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496246-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496285-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496326-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496370-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy subscript expression</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the subscript operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496414-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496453-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496494-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496538-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy function call</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the function call operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1496587-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expr/result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/expr/result.html b/doc/html/boost/proto/expr/result.html new file mode 100755 index 0000000000..f0c61b56a4 --- /dev/null +++ b/doc/html/boost/proto/expr/result.html @@ -0,0 +1,62 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../expr.html#id2721372" title="Description"> +<link rel="prev" href="../expr.html" title="Struct template expr"> +<link rel="next" href="../unexpr.html" title="Struct template unexpr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expr.html#id2721372"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unexpr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.expr.result"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result</span></h2> +<p>boost::proto::expr::result</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>">boost/proto/expr.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Signature<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result.html" title="Struct template result">result</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="boost.proto.expr.result.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2722812"></a><h2>Description</h2> +<p> + Encodes the return type of <code class="computeroutput"><a class="link" href="../expr.html" title="Struct template expr">proto::expr<></a>::operator()</code>. + Makes <code class="computeroutput"><a class="link" href="../expr.html" title="Struct template expr">proto::expr<></a></code> a TR1-style function object type + usable with <code class="computeroutput">boost::result_of<></code> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expr.html#id2721372"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unexpr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/extends.html b/doc/html/boost/proto/extends.html new file mode 100755 index 0000000000..a4330213eb --- /dev/null +++ b/doc/html/boost/proto/extends.html @@ -0,0 +1,292 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template extends</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.extends_hpp" title="Header <boost/proto/extends.hpp>"> +<link rel="prev" href="is_proto_expr.html" title="Struct is_proto_expr"> +<link rel="next" href="extends/result.html" title="Struct template result"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_proto_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.extends_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extends/result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.extends"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template extends</span></h2> +<p>boost::proto::extends — For adding behaviors to a Proto expression template.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.extends_hpp" title="Header <boost/proto/extends.hpp>">boost/proto/extends.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Derived<span class="special">,</span> + <span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="extends.html" title="Struct template extends">extends</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_base_expr</span> <a name="boost.proto.extends.proto_base_expr"></a><span class="identifier">proto_base_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Domain</span> <a name="boost.proto.extends.proto_domain"></a><span class="identifier">proto_domain</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">Derived</span> <a name="boost.proto.extends.proto_derived_expr"></a><span class="identifier">proto_derived_expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="identifier">extends</span> <a name="boost.proto.extends.proto_extends"></a><span class="identifier">proto_extends</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto_base_expr</span><span class="special">::</span><span class="identifier">proto_tag</span> <a name="boost.proto.extends.proto_tag"></a><span class="identifier">proto_tag</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto_base_expr</span><span class="special">::</span><span class="identifier">proto_args</span> <a name="boost.proto.extends.proto_args"></a><span class="identifier">proto_args</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto_base_expr</span><span class="special">::</span><span class="identifier">proto_arity</span> <a name="boost.proto.extends.proto_arity"></a><span class="identifier">proto_arity</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto_base_expr</span><span class="special">::</span><span class="identifier">proto_grammar</span> <a name="boost.proto.extends.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto_base_expr</span><span class="special">::</span><span class="identifier">proto_child</span><em class="replaceable"><code><span class="identifier">N</span></code></em> <a name="boost.proto.extends.proto_childN"></a><span class="identifier">proto_childN</span><span class="special">;</span> <span class="comment">// For each <em class="replaceable"><code>N</code></em> in <em class="replaceable"><code>[0,max(1,proto_arity_c))</code></em></span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Signature<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="extends/result.html" title="Struct template result">result</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends/result.html#boost.proto.extends.result.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="extends.html#boost.proto.extendsconstruct-copy-destruct">construct/copy/destruct</a></span> + <a class="link" href="extends.html#id1497139-bb"><span class="identifier">extends</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="extends.html#id1497141-bb"><span class="identifier">extends</span></a><span class="special">(</span><a class="link" href="extends.html" title="Struct template extends">extends</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="extends.html#id1497157-bb"><span class="identifier">extends</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="extends.html#id1497170-bb">public static functions</a></span> + <span class="keyword">static</span> <span class="identifier">Derived</span> <span class="keyword">const</span> <a class="link" href="extends.html#id1497175-bb"><span class="identifier">make</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="extends.html#id1497210-bb">public member functions</a></span> + <span class="identifier">proto_base_expr</span> <span class="special">&</span> <a class="link" href="extends.html#id1497217-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">proto_base_expr</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="extends.html#id1497237-bb"><span class="identifier">proto_base</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497262-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497306-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497345-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497386-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497430-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497474-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497513-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497554-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497598-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</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="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="extends.html#id1497647-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="identifier">Expr</span> <span class="identifier">proto_expr_</span><span class="special">;</span> <span class="comment">// For exposition only.</span> + <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">proto_arity_c</span><span class="special">;</span> <span class="comment">// <code class="computeroutput">= proto_base_expr::proto_arity_c;</code></span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2725356"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::extends<></code> to give expressions in your + domain custom data members and member functions. + </p> +<p> + Conceptually, using <code class="computeroutput">proto::extends<></code> is akin + to inheriting from <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a><></code> + and adding your own members. Using <code class="computeroutput">proto::extends<></code> is + generally preferrable to straight inheritance because the members that would be inherited from + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a><></code> would + be wrong; they would incorrectly slice off your additional members when building + larger expressions from smaller ones. <code class="computeroutput">proto::extends<></code> + automatically gives your expression types the appropriate operator overloads that + preserve your domain-specific members when composing expression trees. + </p> +<p> + Expression extensions are typically defined as follows: + </p> +<p> + </p> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">Expr</span> <span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">my_expr</span> + <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">extends</span><span class="special"><</span> + <span class="identifier">Expr</span> <span class="comment">// The expression type we're extending</span> + <span class="special">,</span> <span class="identifier">my_expr</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <span class="comment">// The type we're defining</span> + <span class="special">,</span> <span class="identifier">my_domain</span> <span class="comment">// The domain associated with this expression extension</span> + <span class="special">></span> +<span class="special">{</span> + <span class="comment">// An expression extension is constructed from the expression</span> + <span class="comment">// it is extending.</span> + <span class="identifier">my_expr</span><span class="special">(</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">e</span> <span class="special">=</span> <span class="identifier">Expr</span><span class="special">(</span><span class="special">)</span> <span class="special">)</span> + <span class="special">:</span> <span class="identifier">my_expr</span><span class="special">::</span><span class="identifier">proto_extends</span><span class="special">(</span> <span class="identifier">e</span> <span class="special">)</span> + <span class="special">{</span><span class="special">}</span> + + <span class="comment">// Unhide proto::extends::operator=</span> + <span class="comment">// (This is only necessary if a lazy assignment operator</span> + <span class="comment">// makes sense for your domain-specific language.)</span> + <span class="identifier">BOOST_PROTO_EXTENDS_USING_ASSIGN</span><span class="special">(</span><span class="identifier">my_expr</span><span class="special">)</span> + + <span class="comment">/* + ... domain-specific members go here ... + */</span> +<span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + See also: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS_USING_ASSIGN.html" title="Macro BOOST_PROTO_EXTENDS_USING_ASSIGN">BOOST_PROTO_EXTENDS_USING_ASSIGN</a>()</code></li> +<li class="listitem"><code class="computeroutput"><a class="link" href="../../BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT.html" title="Macro BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT">BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT</a>()</code></li> +</ul></div> +<p> + </p> +<div class="refsect2"> +<a name="id2725794"></a><h3> +<a name="boost.proto.extendsconstruct-copy-destruct"></a><code class="computeroutput">extends</code> + public + construct/copy/destruct</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"><pre class="literallayout"><a name="id1497139-bb"></a><span class="identifier">extends</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><a name="id1497141-bb"></a><span class="identifier">extends</span><span class="special">(</span><a class="link" href="extends.html" title="Struct template extends">extends</a> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><a name="id1497157-bb"></a><span class="identifier">extends</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr_<span class="special">)</span><span class="special">;</span></pre></li> +</ol></div> +</div> +<div class="refsect2"> +<a name="id2725936"></a><h3> +<a name="id1497170-bb"></a><code class="computeroutput">extends</code> public static functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">Derived</span> <span class="keyword">const</span> <a name="id1497175-bb"></a><span class="identifier">make</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre> +<p>Construct an expression extension from the base expression.</p> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2726020"></a><h3> +<a name="id1497210-bb"></a><code class="computeroutput">extends</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">proto_base_expr</span> <span class="special">&</span> <a name="id1497217-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput">proto_expr_.proto_base()</code></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">proto_base_expr</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id1497237-bb"></a><span class="identifier">proto_base</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput">proto_expr_.proto_base()</code></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497262-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy assignment expression</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the assignment operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497306-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497345-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497386-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497430-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy subscript expression</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the subscript operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497474-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497513-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497554-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497598-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span></pre> +<p>Lazy function call</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A new expression node representing the function call operation.</p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="id1497647-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from + the above function only in what argument(s) it accepts. + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_proto_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.extends_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extends/result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/extends/result.html b/doc/html/boost/proto/extends/result.html new file mode 100755 index 0000000000..ee812bdf6a --- /dev/null +++ b/doc/html/boost/proto/extends/result.html @@ -0,0 +1,60 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../extends.html#id2725356" title="Description"> +<link rel="prev" href="../extends.html" title="Struct template extends"> +<link rel="next" href="../../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../extends.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extends.html#id2725356"><img src="../../../../../doc/src/images/up.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_PROTO_EXTENDS.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.extends.result"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result</span></h2> +<p>boost::proto::extends::result</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.extends_hpp" title="Header <boost/proto/extends.hpp>">boost/proto/extends.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Signature<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result.html" title="Struct template result">result</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="boost.proto.extends.result.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2727457"></a><h2>Description</h2> +<p>So that <code class="computeroutput">boost::result_of<></code> + can compute the return type of <code class="computeroutput">proto::extends::operator()</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../extends.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extends.html#id2725356"><img src="../../../../../doc/src/images/up.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_PROTO_EXTENDS.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/external_transform.html b/doc/html/boost/proto/external_transform.html new file mode 100755 index 0000000000..f5048418f2 --- /dev/null +++ b/doc/html/boost/proto/external_transform.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct external_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="otherwise.html" title="Struct template otherwise"> +<link rel="next" href="external_transforms.html" title="Struct template external_transforms"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="otherwise.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transforms.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.external_transform"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct external_transform</span></h2> +<p>boost::proto::external_transform — A placeholder for use as the second parameter for <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when</a></code> + to indicate that the rule's transform is specified externally.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="external_transform.html" title="Struct external_transform">external_transform</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2886586"></a><h2>Description</h2> +<p> + See <code class="computeroutput"><a class="link" href="external_transforms.html" title="Struct template external_transforms">proto::external_transforms</a></code> for an example. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="otherwise.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transforms.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/external_transforms.html b/doc/html/boost/proto/external_transforms.html new file mode 100755 index 0000000000..2e958a49a7 --- /dev/null +++ b/doc/html/boost/proto/external_transforms.html @@ -0,0 +1,116 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template external_transforms</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="external_transform.html" title="Struct external_transform"> +<link rel="next" href="external_transforms/when.html" title="Struct template when"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="external_transform.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transforms/when.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.external_transforms"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template external_transforms</span></h2> +<p>boost::proto::external_transforms — A map from grammars to transforms, used as a way to externally associate transforms.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> When<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="external_transforms.html" title="Struct template external_transforms">external_transforms</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">to_mpl_pair</span><span class="special"><</span> <span class="identifier">When</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">...</span> <span class="special">></span> <a name="boost.proto.external_transforms.map_type"></a><span class="identifier">map_type</span><span class="special">;</span> <span class="comment">// For exposition only.</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="external_transforms/when.html" title="Struct template when">when</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="otherwise.html" title="Struct template otherwise">proto::otherwise</a>< typename mpl::at< map_type, Grammar >::type > + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2886865"></a><h2>Description</h2> +<p> + It is sometimes desirable to define a grammar that can be customized with different sets of transforms. + To do that, where you would normally specify a transform within a grammar, you can instead put + <code class="computeroutput"><a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a></code>; for example: + <code class="computeroutput">proto::when< some_grammar, proto::external_transform ></code>. Then, when + invoking the grammar, you can pass an approriately-defined instance of <code class="computeroutput">proto::external_transforms</code> + as the Data parameter. When an expression matches <code class="computeroutput">some_grammar</code>, Proto + will look up the approprite transform in the Data parameter using <code class="computeroutput">some_grammar</code> + as a key. + </p> +<p> + </p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">int_terminal</span> + <span class="special">:</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="keyword">struct</span> <span class="identifier">char_terminal</span> + <span class="special">:</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="keyword">char</span><span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="keyword">struct</span> <span class="identifier">my_grammar</span> + <span class="special">:</span> <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> + <span class="comment">// The next two grammar rules are customization points.</span> + <span class="comment">// The associated transforms are specified externally</span> + <span class="comment">// using external_transforms below.</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span> <span class="identifier">int_terminal</span><span class="special">,</span> <a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a> <span class="special">></span> + <span class="special">,</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span> <span class="identifier">char_terminal</span><span class="special">,</span> <a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a> <span class="special">></span> + <span class="special">,</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span> + <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><span class="special"><</span> <span class="identifier">my_grammar</span><span class="special">,</span> <span class="identifier">my_grammar</span> <span class="special">></span> + <span class="special">,</span> <a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span> <a class="link" href="_.html" title="Struct _">proto::_</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">my_grammar</span> <span class="special">></span> + <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="comment">// Here is where the transforms are associated with the</span> +<span class="comment">// grammar rules above.</span> +<span class="keyword">struct</span> <span class="identifier">my_transforms</span> + <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">external_transforms</span><span class="special"><</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><span class="identifier">int_terminal</span><span class="special">,</span> <span class="identifier">print</span><span class="special">(</span><a class="link" href="_value.html" title="Struct _value">proto::_value</a><span class="special">)</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><span class="identifier">char_terminal</span><span class="special">,</span> <span class="identifier">print</span><span class="special">(</span><a class="link" href="_value.html" title="Struct _value">proto::_value</a><span class="special">)</span><span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="comment">// ...</span> + +<a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">i</span><span class="special">(</span><span class="number">1</span><span class="special">)</span><span class="special">;</span> +<a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">c</span><span class="special">(</span><span class="char">'a'</span><span class="special">)</span><span class="special">;</span> +<span class="identifier">my_transforms</span> <span class="identifier">trx</span><span class="special">;</span> + +<span class="comment">// Evaluate "i+c" using my_grammar with the specified transforms:</span> +<span class="identifier">my_grammar</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">c</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">trx</span><span class="special">)</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="external_transform.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transforms/when.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/external_transforms/when.html b/doc/html/boost/proto/external_transforms/when.html new file mode 100755 index 0000000000..05648ce1fc --- /dev/null +++ b/doc/html/boost/proto/external_transforms/when.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template when</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../external_transforms.html#id2886865" title="Description"> +<link rel="prev" href="../external_transforms.html" title="Struct template external_transforms"> +<link rel="next" href="../context/callable_eval.html" title="Struct template callable_eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../external_transforms.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../external_transforms.html#id2886865"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../context/callable_eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.external_transforms.when"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template when</span></h2> +<p>boost::proto::external_transforms::when</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="when.html" title="Struct template when">when</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../otherwise.html" title="Struct template otherwise">proto::otherwise</a>< typename mpl::at< map_type, Grammar >::type > +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../external_transforms.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../external_transforms.html#id2886865"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../context/callable_eval.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/flatten_id1500995.html b/doc/html/boost/proto/flatten_id1500995.html new file mode 100755 index 0000000000..c57462f696 --- /dev/null +++ b/doc/html/boost/proto/flatten_id1500995.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function flatten</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>"> +<link rel="prev" href="result_of/flatten.html" title="Struct template flatten"> +<link rel="next" href="default_generator.html" title="Struct default_generator"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/flatten.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_generator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.flatten_id1500995"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function flatten</span></h2> +<p>boost::proto::flatten — A function that returns a "flattened" view of a Proto expression tree. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>">boost/proto/fusion.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">flatten</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <span class="identifier">flatten</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2744236"></a><h2>Description</h2> +<p> + For a tree with a top-most node tag of type <code class="computeroutput">T</code>, the elements + of the flattened sequence are determined by recursing into each child node with the same tag + type and returning those nodes of different type. So for instance, the Proto expression tree + corresponding to the expression <code class="computeroutput">a | b | c</code> has a flattened + view with elements [a, b, c], even though the tree is grouped as + <code class="computeroutput">((a | b) | c)</code>. + </p> +<p> + The returned view is a Fusion Forward Sequence. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/flatten.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="default_generator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/fold.html b/doc/html/boost/proto/fold.html new file mode 100755 index 0000000000..32c525ef5f --- /dev/null +++ b/doc/html/boost/proto/fold.html @@ -0,0 +1,77 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp" title="Header <boost/proto/transform/fold.hpp>"> +<link rel="prev" href="_default/impl.html" title="Struct template impl"> +<link rel="next" href="fold/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_default/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.fold"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template fold</span></h2> +<p>boost::proto::fold — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that invokes the + <code class="computeroutput">fusion::fold<></code> algorithm to accumulate a value.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp" title="Header <boost/proto/transform/fold.hpp>">boost/proto/transform/fold.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="fold.html" title="Struct template fold">fold</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">fold</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="fold/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">_</a><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">></span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.X"><span class="identifier">X</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">_</a><span class="special">,</span> <span class="identifier">State0</span><span class="special">></span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.Y"><span class="identifier">Y</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.seq"><span class="identifier">seq</span></a><span class="special">;</span> <span class="comment">// A Fusion sequence, for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">Y</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.state0"><span class="identifier">state0</span></a><span class="special">;</span> <span class="comment">// An initial state for the fold, for exposition only</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.fun"><span class="identifier">fun</span></a><span class="special">;</span> <span class="comment">// <code class="computeroutput">fun(d)(s,e) == when<_,Fun>()(e,s,d)</code></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span><span class="special"><</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">state0</span><span class="special">,</span> <span class="identifier">fun</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="fold/impl.html#boost.proto.fold.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="fold/impl.html#id1531826-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="fold/impl.html#id1531831-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2863813"></a><h2>Description</h2> +<p> + For the complete description of the behavior of the <code class="computeroutput">proto::fold<></code> + transform, see the documentation for the nested <code class="computeroutput"> + <a class="link" href="fold/impl.html" title="Struct template impl">proto::fold::impl<></a> + </code> class template. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_default/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/fold/impl.html b/doc/html/boost/proto/fold/impl.html new file mode 100755 index 0000000000..20211dcef8 --- /dev/null +++ b/doc/html/boost/proto/fold/impl.html @@ -0,0 +1,109 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../fold.html#id2863813" title="Description"> +<link rel="prev" href="../fold.html" title="Struct template fold"> +<link rel="next" href="../reverse_fold.html" title="Struct template 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="../fold.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fold.html#id2863813"><img src="../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.fold.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::fold::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.fold_hpp" title="Header <boost/proto/transform/fold.hpp>">boost/proto/transform/fold.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">></span> <a name="boost.proto.fold.impl.X"></a><span class="identifier">X</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">_</a><span class="special">,</span> <span class="identifier">State0</span><span class="special">></span> <a name="boost.proto.fold.impl.Y"></a><span class="identifier">Y</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.fold.impl.seq"></a><span class="identifier">seq</span><span class="special">;</span> <span class="comment">// A Fusion sequence, for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">Y</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.fold.impl.state0"></a><span class="identifier">state0</span><span class="special">;</span> <span class="comment">// An initial state for the fold, for exposition only</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.fold.impl.fun"></a><span class="identifier">fun</span><span class="special">;</span> <span class="comment">// <code class="computeroutput">fun(d)(s,e) == when<_,Fun>()(e,s,d)</code></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span><span class="special"><</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">state0</span><span class="special">,</span> <span class="identifier">fun</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.fold.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1531826-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1531831-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2864576"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2864579"></a><h3> +<a name="id1531826-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1531831-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Let <code class="computeroutput">seq</code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, Sequence>()(expr, state, data)</code>, + let <code class="computeroutput">state0</code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, State0>()(expr, state, data)</code>, + and let <code class="computeroutput">fun(data)</code> be an object such that + <code class="computeroutput">fun(data)(state, expr)</code> is equivalent to + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, Fun>()(expr, state, data)</code>. Then, + this function returns <code class="computeroutput">fusion::fold(seq, state0, fun(data))</code>. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>An arbitrary data </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state </p></td> +</tr> +</tbody> +</table></div></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../fold.html#id2863813"><img src="../../../../../doc/src/images/up.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/doc/html/boost/proto/fold_tree.html b/doc/html/boost/proto/fold_tree.html new file mode 100755 index 0000000000..fd48739bc4 --- /dev/null +++ b/doc/html/boost/proto/fold_tree.html @@ -0,0 +1,100 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template fold_tree</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>"> +<link rel="prev" href="reverse_fold.html" title="Struct template reverse_fold"> +<link rel="next" href="fold_tree/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold_tree/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.fold_tree"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template fold_tree</span></h2> +<p>boost::proto::fold_tree — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that recursively applies the + <code class="computeroutput"><a class="link" href="fold.html" title="Struct template fold">proto::fold</a><></code> transform to sub-trees + that all share a common tag type.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>">boost/proto/transform/fold_tree.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="fold_tree.html" title="Struct template fold_tree">fold_tree</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">fold_tree</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="fold_tree/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2865730"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::fold_tree<></code> is useful for flattening trees into lists; + for example, you might use <code class="computeroutput">proto::fold_tree<></code> to flatten an + expression tree like <code class="computeroutput">a | b | c</code> into a Fusion list like + <code class="computeroutput">cons(c, cons(b, cons(a)))</code>. + </p> +<p> + <code class="computeroutput">proto::fold_tree<></code> is easily understood in terms of a + <code class="computeroutput">recurse_if_<></code> helper, defined as follows: + </p> +<pre class="programlisting"> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">recurse_if_</span> <span class="special">:</span> + <a class="link" href="if_.html" title="Struct template if_">proto::if_</a><span class="special"><</span> + <span class="comment">// If the current node has type type "Tag" ...</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="tag_of.html" title="Struct template tag_of">proto::tag_of</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">,</span> + <span class="comment">// ... recurse, otherwise ...</span> + <a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span><span class="special">,</span> + <span class="comment">// ... apply the Fun transform.</span> + <span class="identifier">Fun</span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + With <code class="computeroutput">recurse_if_<></code> as defined above, + <code class="computeroutput">proto::fold_tree<Sequence, State0, Fun>()(expr, state, data)</code> + is equivalent to: + </p> +<pre class="programlisting"><a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span> + <span class="identifier">Sequence</span><span class="special">,</span> + <span class="identifier">State0</span><span class="special">,</span> + <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> +<span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">expr</span><span class="special">,</span> <span class="identifier">state</span><span class="special">,</span> <span class="identifier">data</span><span class="special">)</span><span class="special">.</span></pre> +<p> + It has the effect of folding a tree front-to-back, recursing into child nodes that share a + tag type with the parent node. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold_tree/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/fold_tree/impl.html b/doc/html/boost/proto/fold_tree/impl.html new file mode 100755 index 0000000000..f888acef05 --- /dev/null +++ b/doc/html/boost/proto/fold_tree/impl.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../fold_tree.html#id2865730" title="Description"> +<link rel="prev" href="../fold_tree.html" title="Struct template fold_tree"> +<link rel="next" href="../reverse_fold_tree.html" title="Struct template reverse_fold_tree"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_tree.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fold_tree.html#id2865730"><img src="../../../../../doc/src/images/up.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_tree.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.fold_tree.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::fold_tree::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>">boost/proto/transform/fold_tree.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_tree.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fold_tree.html#id2865730"><img src="../../../../../doc/src/images/up.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_tree.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/function.html b/doc/html/boost/proto/function.html new file mode 100755 index 0000000000..2780946bf4 --- /dev/null +++ b/doc/html/boost/proto/function.html @@ -0,0 +1,69 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template function</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="subscript/impl.html" title="Struct template impl"> +<link rel="next" href="function/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="subscript/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.function"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template function</span></h2> +<p>boost::proto::function — A metafunction for generating function-call expression types, a grammar element for + matching function-call expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> + that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="function.html" title="Struct template function">function</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">function</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="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/function.html" title="Struct function">proto::tag::function</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span> <span class="identifier">A</span><span class="special">...</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.function.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/function.html" title="Struct function">proto::tag::function</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span> <span class="identifier">A</span><span class="special">...</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.function.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="function/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><function>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2839642"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="subscript/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/function/impl.html b/doc/html/boost/proto/function/impl.html new file mode 100755 index 0000000000..18a77cdd5e --- /dev/null +++ b/doc/html/boost/proto/function/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../function.html#id2839642" title="Description"> +<link rel="prev" href="../function.html" title="Struct template function"> +<link rel="next" href="../nullary_expr.html" title="Struct template nullary_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html#id2839642"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nullary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.function.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::function::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><function>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.html#id2839642"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nullary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/as_child.html b/doc/html/boost/proto/functional/as_child.html new file mode 100755 index 0000000000..9c687323f2 --- /dev/null +++ b/doc/html/boost/proto/functional/as_child.html @@ -0,0 +1,111 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_child</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_expr/result_This_T__id1518301.html" title="Struct template result<This(T)>"> +<link rel="next" href="as_child/result_This_T__id1518495.html" title="Struct template result<This(T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr/result_This_T__id1518301.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_child/result_This_T__id1518495.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.as_child"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_child</span></h2> +<p>boost::proto::functional::as_child — + A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../as_child_id1527575.html" title="Function as_child">proto::as_child()</a></code> function. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_child.html" title="Struct template as_child">as_child</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="as_child/result_This_T__id1518495.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> <a class="link" href="../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</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="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="as_child.html#id1518529-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="as_child.html#id1518534-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="as_child.html#id1518601-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2804412"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2804415"></a><h3> +<a name="id1518529-bb"></a><code class="computeroutput">as_child</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518534-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Wrap an object in a Proto terminal if it isn't a Proto expression already. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../as_child_id1527575.html" title="Function as_child">proto::as_child</a><Domain>(t)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518601-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr/result_This_T__id1518301.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_child/result_This_T__id1518495.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/as_child/result_This_T__id1518495.html b/doc/html/boost/proto/functional/as_child/result_This_T__id1518495.html new file mode 100755 index 0000000000..4ab040c6de --- /dev/null +++ b/doc/html/boost/proto/functional/as_child/result_This_T__id1518495.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../as_child.html#id2804412" title="Description"> +<link rel="prev" href="../as_child.html" title="Struct template as_child"> +<link rel="next" href="../child_c.html" title="Struct template child_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="../as_child.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../as_child.html#id2804412"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../child_c.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.as_child.result_This(T)_id1518495"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T)></span></h2> +<p>boost::proto::functional::as_child::result<This(T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T__id1518495.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> <a class="link" href="../../result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a>< typename remove_reference< T >::type, Domain > +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_child.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../as_child.html#id2804412"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../child_c.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/as_expr.html b/doc/html/boost/proto/functional/as_expr.html new file mode 100755 index 0000000000..e5cc2f1f86 --- /dev/null +++ b/doc/html/boost/proto/functional/as_expr.html @@ -0,0 +1,110 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="../tag/function.html" title="Struct function"> +<link rel="next" href="as_expr/result_This_T__id1518301.html" title="Struct template result<This(T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_expr/result_This_T__id1518301.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.as_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_expr</span></h2> +<p>boost::proto::functional::as_expr — A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../as_expr_id1527385.html" title="Function as_expr">proto::as_expr()</a></code> function. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_expr.html" title="Struct template as_expr">as_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="as_expr/result_This_T__id1518301.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> <a class="link" href="../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</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="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="as_expr.html#id1518335-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="as_expr.html#id1518340-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="as_expr.html#id1518407-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2803388"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2803392"></a><h3> +<a name="id1518335-bb"></a><code class="computeroutput">as_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518340-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Wrap an object in a Proto terminal if it isn't a Proto expression already. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../as_expr_id1527385.html" title="Function as_expr">proto::as_expr</a><Domain>(t)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518407-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/function.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_expr/result_This_T__id1518301.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/as_expr/result_This_T__id1518301.html b/doc/html/boost/proto/functional/as_expr/result_This_T__id1518301.html new file mode 100755 index 0000000000..d96f336d1e --- /dev/null +++ b/doc/html/boost/proto/functional/as_expr/result_This_T__id1518301.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(T)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../as_expr.html#id2803388" title="Description"> +<link rel="prev" href="../as_expr.html" title="Struct template as_expr"> +<link rel="next" href="../as_child.html" title="Struct template as_child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../as_expr.html#id2803388"><img src="../../../../../../doc/src/images/up.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_child.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.as_expr.result_This(T)_id1518301"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(T)></span></h2> +<p>boost::proto::functional::as_expr::result<This(T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_T__id1518301.html" title="Struct template result<This(T)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> <a class="link" href="../../result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a>< typename remove_reference< T >::type, Domain > +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../as_expr.html#id2803388"><img src="../../../../../../doc/src/images/up.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_child.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/at.html b/doc/html/boost/proto/functional/at.html new file mode 100755 index 0000000000..f454f385ac --- /dev/null +++ b/doc/html/boost/proto/functional/at.html @@ -0,0 +1,104 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.at_hpp" title="Header <boost/proto/functional/fusion/at.hpp>"> +<link rel="prev" href="../../../BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT.html" title="Macro BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT"> +<link rel="next" href="at/result_This_Seq__N__id1498642.html" title="Struct template result<This(Seq, N)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.at_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__N__id1498642.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.at"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct at</span></h2> +<p>boost::proto::functional::at — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::at()</code> accessor function on its arguments.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.at_hpp" title="Header <boost/proto/functional/fusion/at.hpp>">boost/proto/functional/fusion/at.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="at.html" title="Struct at">at</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="at/result_This_Seq__N__id1498642.html" title="Struct template result<This(Seq, N)>">result</a><span class="special"><</span><span class="identifier">This</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="special">></span> <span class="special">:</span> <span class="keyword"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="at.html#id1498683-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><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="special">::</span><span class="identifier">type</span> + <a class="link" href="at.html#id1498688-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><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="keyword">const</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="at.html#id1498742-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2730146"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::at()</code> accessor function on its arguments.</p> +<div class="refsect2"> +<a name="id2730169"></a><h3> +<a name="id1498683-bb"></a><code class="computeroutput">at</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><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="special">::</span><span class="identifier">type</span> + <a name="id1498688-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span> seq<span class="special">,</span> <span class="identifier">N</span> <span class="keyword">const</span> <span class="special">&</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::at<N>(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><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="keyword">const</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1498742-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">,</span> <span class="identifier">N</span> <span class="keyword">const</span> <span class="special">&</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::at<N>(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.at_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__N__id1498642.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/at/result_This_Seq__N__id1498642.html b/doc/html/boost/proto/functional/at/result_This_Seq__N__id1498642.html new file mode 100755 index 0000000000..2edaa58844 --- /dev/null +++ b/doc/html/boost/proto/functional/at/result_This_Seq__N__id1498642.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq, N)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../at.html#id2730146" title="Description"> +<link rel="prev" href="../at.html" title="Struct at"> +<link rel="next" href="../pop_back.html" title="Struct 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="../at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at.html#id2730146"><img src="../../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.functional.at.result_This(Seq,_N)_id1498642"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq, N)></span></h2> +<p>boost::proto::functional::at::result<This(Seq, N)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.at_hpp" title="Header <boost/proto/functional/fusion/at.hpp>">boost/proto/functional/fusion/at.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> N<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__N__id1498642.html" title="Struct template result<This(Seq, N)>">result</a><span class="special"><</span><span class="identifier">This</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="special">></span> <span class="special">:</span> <span class="keyword"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../at.html#id2730146"><img src="../../../../../../doc/src/images/up.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/doc/html/boost/proto/functional/child.html b/doc/html/boost/proto/functional/child.html new file mode 100755 index 0000000000..4979a1b950 --- /dev/null +++ b/doc/html/boost/proto/functional/child.html @@ -0,0 +1,129 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template child</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="child_c/result_This_Expr__id1518688.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="child/result_This_Expr__id1518943.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_c/result_This_Expr__id1518688.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child/result_This_Expr__id1518943.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.child"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template child</span></h2> +<p>boost::proto::functional::child — A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child()</a></code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> N <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special"><</span><span class="number">0</span><span class="special">></span> <span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="child.html" title="Struct template child">child</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="child/result_This_Expr__id1518943.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/child.html" title="Struct template child">proto::result_of::child</a>< Expr, N > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="child.html#id1518979-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="child.html#id1518984-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="child.html#id1519091-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2806478"></a><h2>Description</h2> +<p> + A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child()</a></code> + function. <code class="computeroutput">N</code> is required to be an MPL Integral Constant. + </p> +<div class="refsect2"> +<a name="id2806512"></a><h3> +<a name="id1518979-bb"></a><code class="computeroutput">child</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518984-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the given expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The expression node. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="../is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code> + </p> +<p> + <code class="computeroutput">N::value < Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../child_id1527766.html" title="Function child">proto::child</a><N>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519091-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_c/result_This_Expr__id1518688.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child/result_This_Expr__id1518943.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/child/result_This_Expr__id1518943.html b/doc/html/boost/proto/functional/child/result_This_Expr__id1518943.html new file mode 100755 index 0000000000..624868c43e --- /dev/null +++ b/doc/html/boost/proto/functional/child/result_This_Expr__id1518943.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../child.html#id2806478" title="Description"> +<link rel="prev" href="../child.html" title="Struct template child"> +<link rel="next" href="../value.html" title="Struct value"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../child.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../child.html#id2806478"><img src="../../../../../../doc/src/images/up.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.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.child.result_This(Expr)_id1518943"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::child::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1518943.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/child.html" title="Struct template child">proto::result_of::child</a>< Expr, N > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../child.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../child.html#id2806478"><img src="../../../../../../doc/src/images/up.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.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/child_c.html b/doc/html/boost/proto/functional/child_c.html new file mode 100755 index 0000000000..7eff7ea6a7 --- /dev/null +++ b/doc/html/boost/proto/functional/child_c.html @@ -0,0 +1,126 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template child_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_child/result_This_T__id1518495.html" title="Struct template result<This(T)>"> +<link rel="next" href="child_c/result_This_Expr__id1518688.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_child/result_This_T__id1518495.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c/result_This_Expr__id1518688.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.child_c"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template child_c</span></h2> +<p>boost::proto::functional::child_c — + A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c()</a></code> function. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">long</span> N<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="child_c.html" title="Struct template child_c">child_c</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="child_c/result_This_Expr__id1518688.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a>< Expr, N > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="child_c.html#id1518721-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="child_c.html#id1518726-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="child_c.html#id1518833-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2805392"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2805395"></a><h3> +<a name="id1518721-bb"></a><code class="computeroutput">child_c</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518726-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Return the <em class="replaceable"><code>N</code></em><sup>th</sup> child of the given expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The expression node. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="../is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code> + </p> +<p> + <code class="computeroutput">N < Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><N>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1518833-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_child/result_This_T__id1518495.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c/result_This_Expr__id1518688.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/child_c/result_This_Expr__id1518688.html b/doc/html/boost/proto/functional/child_c/result_This_Expr__id1518688.html new file mode 100755 index 0000000000..83597938c6 --- /dev/null +++ b/doc/html/boost/proto/functional/child_c/result_This_Expr__id1518688.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../child_c.html#id2805392" title="Description"> +<link rel="prev" href="../child_c.html" title="Struct template child_c"> +<link rel="next" href="../child.html" title="Struct template child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../child_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../child_c.html#id2805392"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../child.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.child_c.result_This(Expr)_id1518688"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::child_c::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1518688.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a>< Expr, N > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../child_c.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../child_c.html#id2805392"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../child.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/deep_copy.html b/doc/html/boost/proto/functional/deep_copy.html new file mode 100755 index 0000000000..440bc60c43 --- /dev/null +++ b/doc/html/boost/proto/functional/deep_copy.html @@ -0,0 +1,76 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct deep_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>"> +<link rel="prev" href="../result_of/deep_copy.html" title="Struct template deep_copy"> +<link rel="next" href="deep_copy/result_This_Expr__id1493720.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../result_of/deep_copy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deep_copy/result_This_Expr__id1493720.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.deep_copy"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct deep_copy</span></h2> +<p>boost::proto::functional::deep_copy — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type for deep-copying Proto + expression trees.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>">boost/proto/deep_copy.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="deep_copy.html" title="Struct deep_copy">deep_copy</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="deep_copy/result_This_Expr__id1493720.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/deep_copy.html" title="Struct template deep_copy">result_of::deep_copy</a><Expr> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="deep_copy.html#id1493757-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <a class="link" href="../result_of/deep_copy.html" title="Struct template deep_copy">result_of::deep_copy</a><span class="special"><</span><span class="identifier">Expr</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="deep_copy.html#id1493761-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2712478"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type for deep-copying Proto expression trees. + When a tree is deep-copied, all internal nodes and terminals held by reference are instead held by value. + The only exception is function references, which continue to be held by reference. + </p> +<div class="refsect2"> +<a name="id2712498"></a><h3> +<a name="id1493757-bb"></a><code class="computeroutput">deep_copy</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <a class="link" href="../result_of/deep_copy.html" title="Struct template deep_copy">result_of::deep_copy</a><span class="special"><</span><span class="identifier">Expr</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id1493761-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Deep-copies a Proto expression tree, turning all nodes and terminals held by + reference into ones held by value.</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../result_of/deep_copy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deep_copy/result_This_Expr__id1493720.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/deep_copy/result_This_Expr__id1493720.html b/doc/html/boost/proto/functional/deep_copy/result_This_Expr__id1493720.html new file mode 100755 index 0000000000..e045e15adc --- /dev/null +++ b/doc/html/boost/proto/functional/deep_copy/result_This_Expr__id1493720.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../deep_copy.html#id2712478" title="Description"> +<link rel="prev" href="../deep_copy.html" title="Struct deep_copy"> +<link rel="next" href="../../deep_copy_id1493807.html" title="Function template deep_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="../deep_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deep_copy.html#id2712478"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../deep_copy_id1493807.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.deep_copy.result_This(Expr)_id1493720"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::deep_copy::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>">boost/proto/deep_copy.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1493720.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/deep_copy.html" title="Struct template deep_copy">result_of::deep_copy</a><Expr> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../deep_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deep_copy.html#id2712478"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../deep_copy_id1493807.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/display_expr.html b/doc/html/boost/proto/functional/display_expr.html new file mode 100755 index 0000000000..7fe7a6beec --- /dev/null +++ b/doc/html/boost/proto/functional/display_expr.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct display_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>"> +<link rel="prev" href="../listN.html" title="Struct template listN"> +<link rel="next" href="../display_expr_id1492920.html" title="Function display_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../listN.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../display_expr_id1492920.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.display_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct display_expr</span></h2> +<p>boost::proto::functional::display_expr — Pretty-print a Proto expression tree. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.debug_hpp" title="Header <boost/proto/debug.hpp>">boost/proto/debug.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="display_expr.html" title="Struct display_expr">display_expr</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">void</span> <a name="boost.proto.functional.display_expr.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="display_expr.html#boost.proto.functional.display_exprconstruct-copy-destruct">construct/copy/destruct</a></span> + <a class="link" href="display_expr.html#id1492860-bb"><span class="identifier">display_expr</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&</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="keyword">int</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="display_expr.html#id1492824-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="keyword">void</span> <a class="link" href="display_expr.html#id1492829-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2710178"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> which accepts a Proto expression tree and pretty-prints it to an <code class="computeroutput">ostream</code> for debugging purposes. + </p> +<div class="refsect2"> +<a name="id2710201"></a><h3> +<a name="boost.proto.functional.display_exprconstruct-copy-destruct"></a><code class="computeroutput">display_expr</code> + public + construct/copy/destruct</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><a name="id1492860-bb"></a><span class="identifier">display_expr</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&</span> sout <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="keyword">int</span> depth <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">depth</code></span></p></td> +<td><p> + The starting indentation depth for this node. Children nodes will be displayed at a starting depth of <code class="computeroutput">depth+4</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">sout</code></span></p></td> +<td><p> + The <code class="computeroutput">ostream</code> to which the expression tree will be written. + </p></td> +</tr> +</tbody> +</table></div></td> +</tr></tbody> +</table></div> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2710360"></a><h3> +<a name="id1492824-bb"></a><code class="computeroutput">display_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="keyword">void</span> <a name="id1492829-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../listN.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.debug_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../display_expr_id1492920.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/eval.html b/doc/html/boost/proto/functional/eval.html new file mode 100755 index 0000000000..46db7e9906 --- /dev/null +++ b/doc/html/boost/proto/functional/eval.html @@ -0,0 +1,118 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct eval</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>"> +<link rel="prev" href="../domain_of.html" title="Struct template domain_of"> +<link rel="next" href="eval/result_This_Expr__Conte_id1495023.html" title="Struct template result<This(Expr, Context)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../domain_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="eval/result_This_Expr__Conte_id1495023.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct eval</span></h2> +<p>boost::proto::functional::eval — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type for evaluating a given Proto + expression with a given context.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>">boost/proto/eval.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="eval.html" title="Struct eval">eval</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="eval/result_This_Expr__Conte_id1495023.html" title="Struct template result<This(Expr, Context)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="eval.html#id1495067-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="eval.html#id1495072-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="eval.html#id1495156-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Context</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2717314"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2717317"></a><h3> +<a name="id1495067-bb"></a><code class="computeroutput">eval</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1495072-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="special">&</span> context<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Evaluate a given Proto expression with a given context. <div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">context</code></span></p></td> +<td><p>The context in which the expression should be evaluated. </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The Proto expression to evaluate.</p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">typename Context::template eval<Expr>()(expr, context)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1495156-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">Context</span> <span class="keyword">const</span> <span class="special">&</span> context<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + This is an overloaded member function, provided for convenience. It differs from the above + function only in what argument(s) it accepts. + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../domain_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="eval/result_This_Expr__Conte_id1495023.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/eval/result_This_Expr__Conte_id1495023.html b/doc/html/boost/proto/functional/eval/result_This_Expr__Conte_id1495023.html new file mode 100755 index 0000000000..bb19b65e80 --- /dev/null +++ b/doc/html/boost/proto/functional/eval/result_This_Expr__Conte_id1495023.html @@ -0,0 +1,57 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr, Context)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../eval.html#id2717314" title="Description"> +<link rel="prev" href="../eval.html" title="Struct eval"> +<link rel="next" href="../../result_of/eval.html" title="Struct template eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../eval.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../eval.html#id2717314"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.eval.result_This(Expr,_Conte_id1495023"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr, Context)></span></h2> +<p>boost::proto::functional::eval::result<This(Expr, Context)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>">boost/proto/eval.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__Conte_id1495023.html" title="Struct template result<This(Expr, Context)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../../result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Context</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../eval.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../eval.html#id2717314"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/eval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/first.html b/doc/html/boost/proto/functional/first.html new file mode 100755 index 0000000000..ed54f9d40f --- /dev/null +++ b/doc/html/boost/proto/functional/first.html @@ -0,0 +1,113 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct first</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>"> +<link rel="prev" href="make_pair/result_This_First__Seco_id1500076.html" title="Struct template result<This(First, Second)>"> +<link rel="next" href="first/result_This_Pair__id1500225.html" title="Struct template result<This(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="make_pair/result_This_First__Seco_id1500076.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="first/result_This_Pair__id1500225.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.first"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct first</span></h2> +<p>boost::proto::functional::first — + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns + the first element of a <code class="computeroutput">std::pair<></code>. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="first.html" title="Struct first">first</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="first/result_This_Pair__id1500225.html" title="Struct template result<This(Pair)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <a class="link" href="first/result_This_Pair__id1500225.html#boost.proto.functional.first.result_This(Pair)_id1500225.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="first/result_This_Pair____id1500261.html" title="Struct template result<This(Pair &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="special">&</span> <a class="link" href="first/result_This_Pair____id1500261.html#boost.proto.functional.first.result_This(Pair_&)_id1500261.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="first/result_This_Pair_const__id1500297.html" title="Struct template result<This(Pair const &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="first/result_This_Pair_const__id1500297.html#boost.proto.functional.first.result_This(Pair_const__id1500297.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="first.html#id1500334-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="special">&</span> <a class="link" href="first.html#id1500338-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="first.html#id1500381-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2739573"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns + the first element of a <code class="computeroutput">std::pair<></code>.</p> +<div class="refsect2"> +<a name="id2739596"></a><h3> +<a name="id1500334-bb"></a><code class="computeroutput">first</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="special">&</span> <a name="id1500338-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span> pair<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">pair.first</code> + </p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id1500381-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span> pair<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">pair.first</code> + </p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_pair/result_This_First__Seco_id1500076.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="first/result_This_Pair__id1500225.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/first/result_This_Pair____id1500261.html b/doc/html/boost/proto/functional/first/result_This_Pair____id1500261.html new file mode 100755 index 0000000000..461ce8c516 --- /dev/null +++ b/doc/html/boost/proto/functional/first/result_This_Pair____id1500261.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../first.html#id2739573" title="Description"> +<link rel="prev" href="result_This_Pair__id1500225.html" title="Struct template result<This(Pair)>"> +<link rel="next" href="result_This_Pair_const__id1500297.html" title="Struct template result<This(Pair const &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair__id1500225.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair_const__id1500297.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.first.result_This(Pair_&)_id1500261"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair &)></span></h2> +<p>boost::proto::functional::first::result<This(Pair &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair____id1500261.html" title="Struct template result<This(Pair &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="special">&</span> <a name="boost.proto.functional.first.result_This(Pair_&)_id1500261.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair__id1500225.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair_const__id1500297.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/first/result_This_Pair__id1500225.html b/doc/html/boost/proto/functional/first/result_This_Pair__id1500225.html new file mode 100755 index 0000000000..404e9b8117 --- /dev/null +++ b/doc/html/boost/proto/functional/first/result_This_Pair__id1500225.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../first.html#id2739573" title="Description"> +<link rel="prev" href="../first.html" title="Struct first"> +<link rel="next" href="result_This_Pair____id1500261.html" title="Struct template result<This(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="../first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair____id1500261.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.first.result_This(Pair)_id1500225"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair)></span></h2> +<p>boost::proto::functional::first::result<This(Pair)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair__id1500225.html" title="Struct template result<This(Pair)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <a name="boost.proto.functional.first.result_This(Pair)_id1500225.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair____id1500261.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/first/result_This_Pair_const__id1500297.html b/doc/html/boost/proto/functional/first/result_This_Pair_const__id1500297.html new file mode 100755 index 0000000000..707d95d2d4 --- /dev/null +++ b/doc/html/boost/proto/functional/first/result_This_Pair_const__id1500297.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Pair const &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../first.html#id2739573" title="Description"> +<link rel="prev" href="result_This_Pair____id1500261.html" title="Struct template result<This(Pair &)>"> +<link rel="next" href="../second.html" title="Struct second"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair____id1500261.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../second.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.first.result_This(Pair_const__id1500297"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair const &)></span></h2> +<p>boost::proto::functional::first::result<This(Pair const &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair_const__id1500297.html" title="Struct template result<This(Pair const &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">first_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="boost.proto.functional.first.result_This(Pair_const__id1500297.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair____id1500261.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../first.html#id2739573"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../second.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/flatten.html b/doc/html/boost/proto/functional/flatten.html new file mode 100755 index 0000000000..0ce0de9668 --- /dev/null +++ b/doc/html/boost/proto/functional/flatten.html @@ -0,0 +1,104 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct flatten</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>"> +<link rel="prev" href="second/result_This_Pair_const__id1500540.html" title="Struct template result<This(Pair const &)>"> +<link rel="next" href="flatten/result_This_Expr__id1500769.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="second/result_This_Pair_const__id1500540.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flatten/result_This_Expr__id1500769.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.flatten"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct flatten</span></h2> +<p>boost::proto::functional::flatten — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns a "flattened" + view of a Proto expression tree. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>">boost/proto/fusion.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="flatten.html" title="Struct flatten">flatten</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="flatten/result_This_Expr__id1500769.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> result< This(Expr const &) > <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> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="flatten/result_This_Expr____id1500803.html" title="Struct template result<This(Expr &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a>< Expr > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="flatten.html#id1500840-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a class="link" href="flatten.html#id1500844-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a class="link" href="flatten.html#id1500892-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2742953"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns a "flattened" view + of a Proto expression tree. For a tree with a top-most node tag of type + <code class="computeroutput">T</code>, the elements of the flattened sequence are determined by + recursing into each child node with the same tag type and returning those nodes of different + type. So for instance, the Proto expression tree corresponding to the expression + <code class="computeroutput">a | b | c</code> has a flattened view with elements [a, b, c], even + though the tree is grouped as <code class="computeroutput">((a | b) | c)</code>. + </p> +<p> + The resulting view is a Fusion Forward Sequence. + </p> +<div class="refsect2"> +<a name="id2742999"></a><h3> +<a name="id1500840-bb"></a><code class="computeroutput">flatten</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a name="id1500844-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns a Fusion Forward Sequence representing a flattened view of <code class="computeroutput">expr</code>. + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a name="id1500892-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Returns a Fusion Forward Sequence representing a flattened view of <code class="computeroutput">expr</code>. + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="second/result_This_Pair_const__id1500540.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flatten/result_This_Expr__id1500769.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/flatten/result_This_Expr____id1500803.html b/doc/html/boost/proto/functional/flatten/result_This_Expr____id1500803.html new file mode 100755 index 0000000000..54d16e9224 --- /dev/null +++ b/doc/html/boost/proto/functional/flatten/result_This_Expr____id1500803.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../flatten.html#id2742953" title="Description"> +<link rel="prev" href="result_This_Expr__id1500769.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="../../result_of/flatten.html" title="Struct template flatten"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Expr__id1500769.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flatten.html#id2742953"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/flatten.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.flatten.result_This(Expr_&)_id1500803"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr &)></span></h2> +<p>boost::proto::functional::flatten::result<This(Expr &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>">boost/proto/fusion.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr____id1500803.html" title="Struct template result<This(Expr &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a>< Expr > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Expr__id1500769.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flatten.html#id2742953"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/flatten.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/flatten/result_This_Expr__id1500769.html b/doc/html/boost/proto/functional/flatten/result_This_Expr__id1500769.html new file mode 100755 index 0000000000..b8c2c9bf91 --- /dev/null +++ b/doc/html/boost/proto/functional/flatten/result_This_Expr__id1500769.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../flatten.html#id2742953" title="Description"> +<link rel="prev" href="../flatten.html" title="Struct flatten"> +<link rel="next" href="result_This_Expr____id1500803.html" title="Struct template result<This(Expr &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../flatten.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flatten.html#id2742953"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr____id1500803.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.flatten.result_This(Expr)_id1500769"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::flatten::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>">boost/proto/fusion.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1500769.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> result< This(Expr const &) > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../flatten.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flatten.html#id2742953"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr____id1500803.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/left.html b/doc/html/boost/proto/functional/left.html new file mode 100755 index 0000000000..2a438dcfcc --- /dev/null +++ b/doc/html/boost/proto/functional/left.html @@ -0,0 +1,123 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct left</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="value/result_This_Expr__id1519164.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="left/result_This_Expr__id1519373.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Expr__id1519164.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left/result_This_Expr__id1519373.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.left"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct left</span></h2> +<p>boost::proto::functional::left — A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left()</a></code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="left.html" title="Struct left">left</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="left/result_This_Expr__id1519373.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/left.html" title="Struct template left">proto::result_of::left</a>< Expr > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="left.html#id1519418-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="left.html#id1519423-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="left.html#id1519524-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2808513"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2808517"></a><h3> +<a name="id1519418-bb"></a><code class="computeroutput">left</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519423-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Return the left child of the given binary expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The expression node. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="../is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code> + </p> +<p> + <code class="computeroutput">2 == Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../left_id1528275.html" title="Function left">proto::left</a>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519524-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Expr__id1519164.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left/result_This_Expr__id1519373.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/left/result_This_Expr__id1519373.html b/doc/html/boost/proto/functional/left/result_This_Expr__id1519373.html new file mode 100755 index 0000000000..6faf36b0d9 --- /dev/null +++ b/doc/html/boost/proto/functional/left/result_This_Expr__id1519373.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../left.html#id2808513" title="Description"> +<link rel="prev" href="../left.html" title="Struct left"> +<link rel="next" href="../right.html" title="Struct right"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../left.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../left.html#id2808513"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../right.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.left.result_This(Expr)_id1519373"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::left::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1519373.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/left.html" title="Struct template left">proto::result_of::left</a>< Expr > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../left.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../left.html#id2808513"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../right.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/make_expr.html b/doc/html/boost/proto/functional/make_expr.html new file mode 100755 index 0000000000..d7001d365b --- /dev/null +++ b/doc/html/boost/proto/functional/make_expr.html @@ -0,0 +1,97 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template make_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="../lit.html" title="Function lit"> +<link rel="next" href="make_expr/result_This_A___id1502620.html" title="Struct template result<This(A...)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../lit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr/result_This_A___id1502620.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.make_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template make_expr</span></h2> +<p>boost::proto::functional::make_expr — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> equivalent to the <code class="computeroutput"> + <a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr()</a></code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="make_expr.html" title="Struct template make_expr">make_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="make_expr/result_This_A___id1502620.html" title="Struct template result<This(A...)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> + <a class="link" href="../result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a>< Tag, Domain, A... > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="make_expr.html#id1502660-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a class="link" href="make_expr.html#id1502665-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2752430"></a><h2>Description</h2> +<p> + In all cases, <code class="computeroutput">proto::functional::make_expr<Tag, Domain>()(a...)</code> + is equivalent to <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr</a><Tag, Domain>(a...)</code>. + </p> +<p> + <code class="computeroutput">proto::functional::make_expr<Tag>()(a...)</code> is equivalent to + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr</a><Tag>(a...)</code>. + </p> +<div class="refsect2"> +<a name="id2752481"></a><h3> +<a name="id1502660-bb"></a><code class="computeroutput">make_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a name="id1502665-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Construct an expression node with tag type <code class="computeroutput">Tag</code> and in the + domain <code class="computeroutput">Domain</code>. + </p> +<p> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr</a><Tag, Domain>(a...)</code> + </p></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../lit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr/result_This_A___id1502620.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/make_expr/result_This_A___id1502620.html b/doc/html/boost/proto/functional/make_expr/result_This_A___id1502620.html new file mode 100755 index 0000000000..5550e097bb --- /dev/null +++ b/doc/html/boost/proto/functional/make_expr/result_This_A___id1502620.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(A...)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../make_expr.html#id2752430" title="Description"> +<link rel="prev" href="../make_expr.html" title="Struct template make_expr"> +<link rel="next" href="../unpack_expr.html" title="Struct template unpack_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make_expr.html#id2752430"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unpack_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.make_expr.result_This(A_)_id1502620"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(A...)></span></h2> +<p>boost::proto::functional::make_expr::result<This(A...)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_A___id1502620.html" title="Struct template result<This(A...)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> + <a class="link" href="../../result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a>< Tag, Domain, A... > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make_expr.html#id2752430"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unpack_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/make_pair.html b/doc/html/boost/proto/functional/make_pair.html new file mode 100755 index 0000000000..3ee634fa26 --- /dev/null +++ b/doc/html/boost/proto/functional/make_pair.html @@ -0,0 +1,88 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct make_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>"> +<link rel="prev" href="reverse/result_This_Seq____id1499832.html" title="Struct template result<This(Seq &)>"> +<link rel="next" href="make_pair/result_This_First__Seco_id1500076.html" title="Struct template result<This(First, Second)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Seq____id1499832.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.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_pair/result_This_First__Seco_id1500076.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.make_pair"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct make_pair</span></h2> +<p>boost::proto::functional::make_pair — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes + <code class="computeroutput">std::make_pair()</code> on its arguments.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="make_pair.html" title="Struct make_pair">make_pair</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="make_pair/result_This_First__Seco_id1500076.html" title="Struct template result<This(First, Second)>">result</a><span class="special"><</span><span class="identifier">This</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="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">First</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Second</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> <a class="link" href="make_pair/result_This_First__Seco_id1500076.html#boost.proto.functional.make_pair.result_This(First,_Seco_id1500076.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="make_pair.html#id1500120-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Second</span> <span class="special">></span> + <a class="link" href="make_pair.html#id1500125-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">First</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Second</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2738240"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes + <code class="computeroutput">std::make_pair()</code> on its arguments.</p> +<div class="refsect2"> +<a name="id2738263"></a><h3> +<a name="id1500120-bb"></a><code class="computeroutput">make_pair</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Second</span> <span class="special">></span> + <a name="id1500125-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">First</span> <span class="keyword">const</span> <span class="special">&</span> first<span class="special">,</span> <span class="identifier">Second</span> <span class="keyword">const</span> <span class="special">&</span> second<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">std::make_pair(first, second)</code></p></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Seq____id1499832.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.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_pair/result_This_First__Seco_id1500076.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/make_pair/result_This_First__Seco_id1500076.html b/doc/html/boost/proto/functional/make_pair/result_This_First__Seco_id1500076.html new file mode 100755 index 0000000000..d97612772f --- /dev/null +++ b/doc/html/boost/proto/functional/make_pair/result_This_First__Seco_id1500076.html @@ -0,0 +1,57 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(First, Second)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../make_pair.html#id2738240" title="Description"> +<link rel="prev" href="../make_pair.html" title="Struct make_pair"> +<link rel="next" href="../first.html" title="Struct first"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make_pair.html#id2738240"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../first.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.make_pair.result_This(First,_Seco_id1500076"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(First, Second)></span></h2> +<p>boost::proto::functional::make_pair::result<This(First, Second)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_First__Seco_id1500076.html" title="Struct template result<This(First, Second)>">result</a><span class="special"><</span><span class="identifier">This</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="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">First</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Second</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> <a name="boost.proto.functional.make_pair.result_This(First,_Seco_id1500076.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make_pair.html#id2738240"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../first.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/pop_back.html b/doc/html/boost/proto/functional/pop_back.html new file mode 100755 index 0000000000..2847d97fa1 --- /dev/null +++ b/doc/html/boost/proto/functional/pop_back.html @@ -0,0 +1,103 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp" title="Header <boost/proto/functional/fusion/pop_back.hpp>"> +<link rel="prev" href="at/result_This_Seq__N__id1498642.html" title="Struct template result<This(Seq, N)>"> +<link rel="next" href="pop_back/result_This_Seq__id1498890.html" title="Struct template result<This(Seq)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Seq__N__id1498642.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1498890.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.pop_back"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct pop_back</span></h2> +<p>boost::proto::functional::pop_back — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::pop_back()</code> algorithm on its argument.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp" title="Header <boost/proto/functional/fusion/pop_back.hpp>">boost/proto/functional/fusion/pop_back.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="pop_back.html" title="Struct pop_back">pop_back</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pop_back/result_This_Seq__id1498890.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <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> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pop_back/result_This_Seq____id1498924.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::pop_back< Seq > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="pop_back.html#id1498958-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pop_back.html#id1498963-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="pop_back.html#id1499003-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2731570"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::pop_back()</code> algorithm on its argument. + </p> +<div class="refsect2"> +<a name="id2731593"></a><h3> +<a name="id1498958-bb"></a><code class="computeroutput">pop_back</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1498963-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::pop_back(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499003-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::pop_back(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Seq__N__id1498642.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1498890.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/pop_back/result_This_Seq____id1498924.html b/doc/html/boost/proto/functional/pop_back/result_This_Seq____id1498924.html new file mode 100755 index 0000000000..de2b12feb7 --- /dev/null +++ b/doc/html/boost/proto/functional/pop_back/result_This_Seq____id1498924.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pop_back.html#id2731570" title="Description"> +<link rel="prev" href="result_This_Seq__id1498890.html" title="Struct template result<This(Seq)>"> +<link rel="next" href="../pop_front.html" title="Struct 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="result_This_Seq__id1498890.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pop_back.html#id2731570"><img src="../../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.functional.pop_back.result_This(Seq_&)_id1498924"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq &)></span></h2> +<p>boost::proto::functional::pop_back::result<This(Seq &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp" title="Header <boost/proto/functional/fusion/pop_back.hpp>">boost/proto/functional/fusion/pop_back.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq____id1498924.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::pop_back< Seq > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Seq__id1498890.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pop_back.html#id2731570"><img src="../../../../../../doc/src/images/up.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/doc/html/boost/proto/functional/pop_back/result_This_Seq__id1498890.html b/doc/html/boost/proto/functional/pop_back/result_This_Seq__id1498890.html new file mode 100755 index 0000000000..d287e1bf77 --- /dev/null +++ b/doc/html/boost/proto/functional/pop_back/result_This_Seq__id1498890.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pop_back.html#id2731570" title="Description"> +<link rel="prev" href="../pop_back.html" title="Struct pop_back"> +<link rel="next" href="result_This_Seq____id1498924.html" title="Struct template result<This(Seq &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../pop_back.html#id2731570"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1498924.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.pop_back.result_This(Seq)_id1498890"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq)></span></h2> +<p>boost::proto::functional::pop_back::result<This(Seq)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.pop_back_hpp" title="Header <boost/proto/functional/fusion/pop_back.hpp>">boost/proto/functional/fusion/pop_back.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__id1498890.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../pop_back.html#id2731570"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1498924.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/pop_front.html b/doc/html/boost/proto/functional/pop_front.html new file mode 100755 index 0000000000..01e89bb72f --- /dev/null +++ b/doc/html/boost/proto/functional/pop_front.html @@ -0,0 +1,108 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp" title="Header <boost/proto/functional/fusion/pop_front.hpp>"> +<link rel="prev" href="pop_back/result_This_Seq____id1498924.html" title="Struct template result<This(Seq &)>"> +<link rel="next" href="pop_front/result_This_Seq__id1499155.html" title="Struct template result<This(Seq)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Seq____id1498924.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1499155.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.pop_front"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct pop_front</span></h2> +<p>boost::proto::functional::pop_front — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::pop_front()</code> algorithm on its argument.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp" title="Header <boost/proto/functional/fusion/pop_front.hpp>">boost/proto/functional/fusion/pop_front.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="pop_front.html" title="Struct pop_front">pop_front</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pop_front/result_This_Seq__id1499155.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <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> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pop_front/result_This_Seq____id1499189.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::pop_front< Seq > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="pop_front.html#id1499223-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pop_front.html#id1499228-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="pop_front.html#id1499268-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2732872"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::pop_front()</code> algorithm on its argument. This is + useful for defining a <a class="link" href="../../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> such as + <code class="computeroutput">pop_front(_)</code>, which removes the first child from a Proto + expression node. Such a transform might be used as the first argument to the + <code class="computeroutput"><a class="link" href="../fold.html" title="Struct template fold">proto::fold<></a></code> + transform; that is, fold all but the first child. + </p> +<div class="refsect2"> +<a name="id2732925"></a><h3> +<a name="id1499223-bb"></a><code class="computeroutput">pop_front</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499228-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::pop_front(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499268-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::pop_front(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Seq____id1498924.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1499155.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/pop_front/result_This_Seq____id1499189.html b/doc/html/boost/proto/functional/pop_front/result_This_Seq____id1499189.html new file mode 100755 index 0000000000..c6939dcc2f --- /dev/null +++ b/doc/html/boost/proto/functional/pop_front/result_This_Seq____id1499189.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pop_front.html#id2732872" title="Description"> +<link rel="prev" href="result_This_Seq__id1499155.html" title="Struct template result<This(Seq)>"> +<link rel="next" href="../push_back.html" title="Struct 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="result_This_Seq__id1499155.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pop_front.html#id2732872"><img src="../../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.functional.pop_front.result_This(Seq_&)_id1499189"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq &)></span></h2> +<p>boost::proto::functional::pop_front::result<This(Seq &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp" title="Header <boost/proto/functional/fusion/pop_front.hpp>">boost/proto/functional/fusion/pop_front.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq____id1499189.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::pop_front< Seq > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Seq__id1499155.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pop_front.html#id2732872"><img src="../../../../../../doc/src/images/up.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/doc/html/boost/proto/functional/pop_front/result_This_Seq__id1499155.html b/doc/html/boost/proto/functional/pop_front/result_This_Seq__id1499155.html new file mode 100755 index 0000000000..70f911c34c --- /dev/null +++ b/doc/html/boost/proto/functional/pop_front/result_This_Seq__id1499155.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pop_front.html#id2732872" title="Description"> +<link rel="prev" href="../pop_front.html" title="Struct pop_front"> +<link rel="next" href="result_This_Seq____id1499189.html" title="Struct template result<This(Seq &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../pop_front.html#id2732872"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1499189.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.pop_front.result_This(Seq)_id1499155"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq)></span></h2> +<p>boost::proto::functional::pop_front::result<This(Seq)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.pop_front_hpp" title="Header <boost/proto/functional/fusion/pop_front.hpp>">boost/proto/functional/fusion/pop_front.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__id1499155.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../pop_front.html#id2732872"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1499189.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/push_back.html b/doc/html/boost/proto/functional/push_back.html new file mode 100755 index 0000000000..13e40138dc --- /dev/null +++ b/doc/html/boost/proto/functional/push_back.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_back_hpp" title="Header <boost/proto/functional/fusion/push_back.hpp>"> +<link rel="prev" href="pop_front/result_This_Seq____id1499189.html" title="Struct template result<This(Seq &)>"> +<link rel="next" href="push_back/result_This_Seq__T__id1499401.html" title="Struct template result<This(Seq, T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Seq____id1499189.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_back_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__T__id1499401.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.push_back"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct push_back</span></h2> +<p>boost::proto::functional::push_back — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::push_back()</code> algorithm on its arguments.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_back_hpp" title="Header <boost/proto/functional/fusion/push_back.hpp>">boost/proto/functional/fusion/push_back.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="push_back.html" title="Struct push_back">push_back</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="push_back/result_This_Seq__T__id1499401.html" title="Struct template result<This(Seq, T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Seq</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"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="push_back.html#id1499442-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="push_back.html#id1499447-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2734237"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::push_back()</code> algorithm on its arguments.</p> +<div class="refsect2"> +<a name="id2734260"></a><h3> +<a name="id1499442-bb"></a><code class="computeroutput">push_back</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499447-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::push_back(seq, t)</code></p></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Seq____id1499189.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_back_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__T__id1499401.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/push_back/result_This_Seq__T__id1499401.html b/doc/html/boost/proto/functional/push_back/result_This_Seq__T__id1499401.html new file mode 100755 index 0000000000..5f0cb2ebf5 --- /dev/null +++ b/doc/html/boost/proto/functional/push_back/result_This_Seq__T__id1499401.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq, T)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../push_back.html#id2734237" title="Description"> +<link rel="prev" href="../push_back.html" title="Struct push_back"> +<link rel="next" href="../push_front.html" title="Struct 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="../push_back.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../push_back.html#id2734237"><img src="../../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.functional.push_back.result_This(Seq,_T)_id1499401"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq, T)></span></h2> +<p>boost::proto::functional::push_back::result<This(Seq, T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.push_back_hpp" title="Header <boost/proto/functional/fusion/push_back.hpp>">boost/proto/functional/fusion/push_back.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__T__id1499401.html" title="Struct template result<This(Seq, T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Seq</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"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../push_back.html#id2734237"><img src="../../../../../../doc/src/images/up.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/doc/html/boost/proto/functional/push_front.html b/doc/html/boost/proto/functional/push_front.html new file mode 100755 index 0000000000..def7f85095 --- /dev/null +++ b/doc/html/boost/proto/functional/push_front.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_front_hpp" title="Header <boost/proto/functional/fusion/push_front.hpp>"> +<link rel="prev" href="push_back/result_This_Seq__T__id1499401.html" title="Struct template result<This(Seq, T)>"> +<link rel="next" href="push_front/result_This_Seq__T__id1499594.html" title="Struct template result<This(Seq, T)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/result_This_Seq__T__id1499401.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_front_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__T__id1499594.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.push_front"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct push_front</span></h2> +<p>boost::proto::functional::push_front — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::push_front()</code> algorithm on its arguments.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_front_hpp" title="Header <boost/proto/functional/fusion/push_front.hpp>">boost/proto/functional/fusion/push_front.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="push_front.html" title="Struct push_front">push_front</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="push_front/result_This_Seq__T__id1499594.html" title="Struct template result<This(Seq, T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Seq</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"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="push_front.html#id1499636-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="push_front.html#id1499640-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2735547"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::push_front()</code> algorithm on its arguments.</p> +<div class="refsect2"> +<a name="id2735570"></a><h3> +<a name="id1499636-bb"></a><code class="computeroutput">push_front</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499640-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::push_front(seq, t)</code></p></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Seq__T__id1499401.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.push_front_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__T__id1499594.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/push_front/result_This_Seq__T__id1499594.html b/doc/html/boost/proto/functional/push_front/result_This_Seq__T__id1499594.html new file mode 100755 index 0000000000..8dbe8f102a --- /dev/null +++ b/doc/html/boost/proto/functional/push_front/result_This_Seq__T__id1499594.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq, T)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../push_front.html#id2735547" title="Description"> +<link rel="prev" href="../push_front.html" title="Struct push_front"> +<link rel="next" href="../reverse.html" title="Struct 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="../push_front.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../push_front.html#id2735547"><img src="../../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.functional.push_front.result_This(Seq,_T)_id1499594"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq, T)></span></h2> +<p>boost::proto::functional::push_front::result<This(Seq, T)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.push_front_hpp" title="Header <boost/proto/functional/fusion/push_front.hpp>">boost/proto/functional/fusion/push_front.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__T__id1499594.html" title="Struct template result<This(Seq, T)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Seq</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"></span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special"><</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</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="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_front.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../push_front.html#id2735547"><img src="../../../../../../doc/src/images/up.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/doc/html/boost/proto/functional/reverse.html b/doc/html/boost/proto/functional/reverse.html new file mode 100755 index 0000000000..64cfad1c56 --- /dev/null +++ b/doc/html/boost/proto/functional/reverse.html @@ -0,0 +1,106 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp" title="Header <boost/proto/functional/fusion/reverse.hpp>"> +<link rel="prev" href="push_front/result_This_Seq__T__id1499594.html" title="Struct template result<This(Seq, T)>"> +<link rel="next" href="reverse/result_This_Seq__id1499798.html" title="Struct template result<This(Seq)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_front/result_This_Seq__T__id1499594.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1499798.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.reverse"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct reverse</span></h2> +<p>boost::proto::functional::reverse — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::reverse()</code> algorithm on its argument. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp" title="Header <boost/proto/functional/fusion/reverse.hpp>">boost/proto/functional/fusion/reverse.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="reverse.html" title="Struct reverse">reverse</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="reverse/result_This_Seq__id1499798.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <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> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="reverse/result_This_Seq____id1499832.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::reverse< Seq > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="reverse.html#id1499866-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="reverse.html#id1499871-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="reverse.html#id1499911-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2736823"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that invokes the + <code class="computeroutput">fusion::reverse()</code> algorithm on its argument. This is + useful for defining a <a class="link" href="../../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> like + <code class="computeroutput">reverse(_)</code>, which reverses the order of the children + of a Proto expression node. + </p> +<div class="refsect2"> +<a name="id2736862"></a><h3> +<a name="id1499866-bb"></a><code class="computeroutput">reverse</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id1499871-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::reverse(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Seq<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span><span class="special"><</span> <span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1499911-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&</span> seq<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">fusion::reverse(seq)</code></p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_front/result_This_Seq__T__id1499594.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Seq__id1499798.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/reverse/result_This_Seq____id1499832.html b/doc/html/boost/proto/functional/reverse/result_This_Seq____id1499832.html new file mode 100755 index 0000000000..3437e9305e --- /dev/null +++ b/doc/html/boost/proto/functional/reverse/result_This_Seq____id1499832.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../reverse.html#id2736823" title="Description"> +<link rel="prev" href="result_This_Seq__id1499798.html" title="Struct template result<This(Seq)>"> +<link rel="next" href="../make_pair.html" title="Struct make_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="result_This_Seq__id1499798.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reverse.html#id2736823"><img src="../../../../../../doc/src/images/up.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_pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.reverse.result_This(Seq_&)_id1499832"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq &)></span></h2> +<p>boost::proto::functional::reverse::result<This(Seq &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp" title="Header <boost/proto/functional/fusion/reverse.hpp>">boost/proto/functional/fusion/reverse.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq____id1499832.html" title="Struct template result<This(Seq &)>">result</a><span class="special"><</span><span class="identifier">This</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> <span class="keyword"></span> fusion::result_of::reverse< Seq > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Seq__id1499798.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reverse.html#id2736823"><img src="../../../../../../doc/src/images/up.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_pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/reverse/result_This_Seq__id1499798.html b/doc/html/boost/proto/functional/reverse/result_This_Seq__id1499798.html new file mode 100755 index 0000000000..25782b5d29 --- /dev/null +++ b/doc/html/boost/proto/functional/reverse/result_This_Seq__id1499798.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Seq)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../reverse.html#id2736823" title="Description"> +<link rel="prev" href="../reverse.html" title="Struct reverse"> +<link rel="next" href="result_This_Seq____id1499832.html" title="Struct template result<This(Seq &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../reverse.html#id2736823"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1499832.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.reverse.result_This(Seq)_id1499798"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Seq)></span></h2> +<p>boost::proto::functional::reverse::result<This(Seq)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.fusion.reverse_hpp" title="Header <boost/proto/functional/fusion/reverse.hpp>">boost/proto/functional/fusion/reverse.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Seq<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Seq__id1499798.html" title="Struct template result<This(Seq)>">result</a><span class="special"><</span><span class="identifier">This</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"></span> result< This(Seq const &) > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../reverse.html#id2736823"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Seq____id1499832.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/right.html b/doc/html/boost/proto/functional/right.html new file mode 100755 index 0000000000..46ed474ece --- /dev/null +++ b/doc/html/boost/proto/functional/right.html @@ -0,0 +1,117 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct right</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="left/result_This_Expr__id1519373.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="right/result_This_Expr__id1519591.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="left/result_This_Expr__id1519373.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right/result_This_Expr__id1519591.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.right"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct right</span></h2> +<p>boost::proto::functional::right — A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right()</a></code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="right.html" title="Struct right">right</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="right/result_This_Expr__id1519591.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/right.html" title="Struct template right">proto::result_of::right</a>< Expr > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="right.html#id1519636-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="right.html#id1519640-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="right.html#id1519741-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2809502"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2809506"></a><h3> +<a name="id1519636-bb"></a><code class="computeroutput">right</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519640-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>Return the right child of the given binary expression.</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The expression node. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="../is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is <code class="computeroutput">true</code> + </p> +<p> + <code class="computeroutput">2 == Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../right_id1528399.html" title="Function right">proto::right</a>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519741-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="left/result_This_Expr__id1519373.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right/result_This_Expr__id1519591.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/right/result_This_Expr__id1519591.html b/doc/html/boost/proto/functional/right/result_This_Expr__id1519591.html new file mode 100755 index 0000000000..33b700cf1b --- /dev/null +++ b/doc/html/boost/proto/functional/right/result_This_Expr__id1519591.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../right.html#id2809502" title="Description"> +<link rel="prev" href="../right.html" title="Struct right"> +<link rel="next" href="../../result_of/as_expr.html" title="Struct template as_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../right.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../right.html#id2809502"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/as_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.right.result_This(Expr)_id1519591"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::right::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1519591.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/right.html" title="Struct template right">proto::result_of::right</a>< Expr > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../right.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../right.html#id2809502"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/as_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/second.html b/doc/html/boost/proto/functional/second.html new file mode 100755 index 0000000000..6a44da54e0 --- /dev/null +++ b/doc/html/boost/proto/functional/second.html @@ -0,0 +1,115 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct second</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>"> +<link rel="prev" href="first/result_This_Pair_const__id1500297.html" title="Struct template result<This(Pair const &)>"> +<link rel="next" href="second/result_This_Pair__id1500468.html" title="Struct template result<This(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="first/result_This_Pair_const__id1500297.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second/result_This_Pair__id1500468.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.second"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct second</span></h2> +<p>boost::proto::functional::second — + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns + the second element of a <code class="computeroutput">std::pair<></code>. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="second.html" title="Struct second">second</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="second/result_This_Pair__id1500468.html" title="Struct template result<This(Pair)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <a class="link" href="second/result_This_Pair__id1500468.html#boost.proto.functional.second.result_This(Pair)_id1500468.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="second/result_This_Pair____id1500504.html" title="Struct template result<This(Pair &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="special">&</span> <a class="link" href="second/result_This_Pair____id1500504.html#boost.proto.functional.second.result_This(Pair_&)_id1500504.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="second/result_This_Pair_const__id1500540.html" title="Struct template result<This(Pair const &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="second/result_This_Pair_const__id1500540.html#boost.proto.functional.second.result_This(Pair_const__id1500540.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="second.html#id1500577-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="special">&</span> <a class="link" href="second.html#id1500581-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="second.html#id1500624-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2741161"></a><h2>Description</h2> +<p> + A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> type that returns + the second element of a <code class="computeroutput">std::pair<></code>. + </p> +<div class="refsect2"> +<a name="id2741184"></a><h3> +<a name="id1500577-bb"></a><code class="computeroutput">second</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="special">&</span> <a name="id1500581-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span> pair<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">pair.second</code> + </p></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Pair<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id1500624-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span> pair<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">pair.second</code> + </p></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="first/result_This_Pair_const__id1500297.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second/result_This_Pair__id1500468.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/second/result_This_Pair____id1500504.html b/doc/html/boost/proto/functional/second/result_This_Pair____id1500504.html new file mode 100755 index 0000000000..9948b39b73 --- /dev/null +++ b/doc/html/boost/proto/functional/second/result_This_Pair____id1500504.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../second.html#id2741161" title="Description"> +<link rel="prev" href="result_This_Pair__id1500468.html" title="Struct template result<This(Pair)>"> +<link rel="next" href="result_This_Pair_const__id1500540.html" title="Struct template result<This(Pair const &)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair__id1500468.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair_const__id1500540.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.second.result_This(Pair_&)_id1500504"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair &)></span></h2> +<p>boost::proto::functional::second::result<This(Pair &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair____id1500504.html" title="Struct template result<This(Pair &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="special">&</span> <a name="boost.proto.functional.second.result_This(Pair_&)_id1500504.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair__id1500468.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair_const__id1500540.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/second/result_This_Pair__id1500468.html b/doc/html/boost/proto/functional/second/result_This_Pair__id1500468.html new file mode 100755 index 0000000000..0bce7e2ef5 --- /dev/null +++ b/doc/html/boost/proto/functional/second/result_This_Pair__id1500468.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../second.html#id2741161" title="Description"> +<link rel="prev" href="../second.html" title="Struct second"> +<link rel="next" href="result_This_Pair____id1500504.html" title="Struct template result<This(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="../second.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair____id1500504.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.second.result_This(Pair)_id1500468"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair)></span></h2> +<p>boost::proto::functional::second::result<This(Pair)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair__id1500468.html" title="Struct template result<This(Pair)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <a name="boost.proto.functional.second.result_This(Pair)_id1500468.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../second.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Pair____id1500504.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/second/result_This_Pair_const__id1500540.html b/doc/html/boost/proto/functional/second/result_This_Pair_const__id1500540.html new file mode 100755 index 0000000000..d683b1ca2e --- /dev/null +++ b/doc/html/boost/proto/functional/second/result_This_Pair_const__id1500540.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Pair const &)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../second.html#id2741161" title="Description"> +<link rel="prev" href="result_This_Pair____id1500504.html" title="Struct template result<This(Pair &)>"> +<link rel="next" href="../flatten.html" title="Struct flatten"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair____id1500504.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flatten.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.second.result_This(Pair_const__id1500540"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Pair const &)></span></h2> +<p>boost::proto::functional::second::result<This(Pair const &)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.functional.std.utility_hpp" title="Header <boost/proto/functional/std/utility.hpp>">boost/proto/functional/std/utility.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Pair<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Pair_const__id1500540.html" title="Struct template result<This(Pair const &)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Pair</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Pair</span><span class="special">::</span><span class="identifier">second_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="boost.proto.functional.second.result_This(Pair_const__id1500540.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Pair____id1500504.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../second.html#id2741161"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flatten.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/unpack_expr.html b/doc/html/boost/proto/functional/unpack_expr.html new file mode 100755 index 0000000000..30e0657670 --- /dev/null +++ b/doc/html/boost/proto/functional/unpack_expr.html @@ -0,0 +1,114 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unpack_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="make_expr/result_This_A___id1502620.html" title="Struct template result<This(A...)>"> +<link rel="next" href="unpack_expr/result_This_Sequence__id1503105.html" title="Struct template result<This(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="make_expr/result_This_A___id1502620.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr/result_This_Sequence__id1503105.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.unpack_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unpack_expr</span></h2> +<p>boost::proto::functional::unpack_expr — A <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> equivalent to the + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a></code> function. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unpack_expr.html" title="Struct template unpack_expr">unpack_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="unpack_expr/result_This_Sequence__id1503105.html" title="Struct template result<This(Sequence)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span> + <span class="identifier">Tag</span><span class="special">,</span> + <span class="identifier">Domain</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Sequence</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="unpack_expr.html#id1503144-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a class="link" href="unpack_expr.html#id1503149-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2753342"></a><h2>Description</h2> +<p> + In all cases, <code class="computeroutput">proto::functional::unpack_expr<Tag, Domain>()(seq)</code> is + equivalent to <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a><Tag, + Domain>(seq)</code>. + </p> +<p> + <code class="computeroutput">proto::functional::unpack_expr<Tag>()(seq)</code> is equivalent to + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a><Tag>(seq)</code>. + </p> +<div class="refsect2"> +<a name="id2753395"></a><h3> +<a name="id1503144-bb"></a><code class="computeroutput">unpack_expr</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <a name="id1503149-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> sequence<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Construct an expression node with tag type <code class="computeroutput">Tag</code> and in the + domain <code class="computeroutput">Domain</code>. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">sequence</code></span></p></td> +<td><p>A Fusion Forward Sequence </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr</a><Tag, Domain>(sequence)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr/result_This_A___id1502620.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr/result_This_Sequence__id1503105.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/unpack_expr/result_This_Sequence__id1503105.html b/doc/html/boost/proto/functional/unpack_expr/result_This_Sequence__id1503105.html new file mode 100755 index 0000000000..f547575f72 --- /dev/null +++ b/doc/html/boost/proto/functional/unpack_expr/result_This_Sequence__id1503105.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../unpack_expr.html#id2753342" title="Description"> +<link rel="prev" href="../unpack_expr.html" title="Struct template unpack_expr"> +<link rel="next" href="../../result_of/make_expr.html" title="Struct template make_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unpack_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unpack_expr.html#id2753342"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/make_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.unpack_expr.result_This(Sequence)_id1503105"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Sequence)></span></h2> +<p>boost::proto::functional::unpack_expr::result<This(Sequence)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Sequence__id1503105.html" title="Struct template result<This(Sequence)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../../result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span> + <span class="identifier">Tag</span><span class="special">,</span> + <span class="identifier">Domain</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Sequence</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unpack_expr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unpack_expr.html#id2753342"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../result_of/make_expr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/value.html b/doc/html/boost/proto/functional/value.html new file mode 100755 index 0000000000..1502daa13b --- /dev/null +++ b/doc/html/boost/proto/functional/value.html @@ -0,0 +1,125 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct value</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="child/result_This_Expr__id1518943.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="value/result_This_Expr__id1519164.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child/result_This_Expr__id1518943.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Expr__id1519164.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.value"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct value</span></h2> +<p>boost::proto::functional::value — + A callable <a class="link" href="../../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> that is equivalent to the + <code class="computeroutput"><a class="link" href="../value_id1528169.html" title="Function value">proto::value()</a></code> function. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="value.html" title="Struct value">value</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="value/result_This_Expr__id1519164.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a>< Expr > <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="value.html#id1519201-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="value.html#id1519205-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a class="link" href="value.html#id1519306-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2807524"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2807527"></a><h3> +<a name="id1519201-bb"></a><code class="computeroutput">value</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519205-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Return the value of the given terminal expression. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The terminal expression node. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="../is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code> + </p> +<p> + <code class="computeroutput">0 == Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../value_id1528169.html" title="Function value">proto::value</a>(expr)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="../result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <a name="id1519306-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child/result_This_Expr__id1518943.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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/result_This_Expr__id1519164.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/functional/value/result_This_Expr__id1519164.html b/doc/html/boost/proto/functional/value/result_This_Expr__id1519164.html new file mode 100755 index 0000000000..1a7cc484a8 --- /dev/null +++ b/doc/html/boost/proto/functional/value/result_This_Expr__id1519164.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../value.html#id2807524" title="Description"> +<link rel="prev" href="../value.html" title="Struct value"> +<link rel="next" href="../left.html" title="Struct left"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value.html#id2807524"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../left.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.functional.value.result_This(Expr)_id1519164"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::functional::value::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1519164.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../../result_of/value.html" title="Struct template value">proto::result_of::value</a>< Expr > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value.html#id2807524"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../left.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/generator.html b/doc/html/boost/proto/generator.html new file mode 100755 index 0000000000..17db4d007a --- /dev/null +++ b/doc/html/boost/proto/generator.html @@ -0,0 +1,96 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template generator</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="basic_default_generator.html" title="Struct basic_default_generator"> +<link rel="next" href="generator/result_This_Expr__id1501378.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_default_generator.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generator/result_This_Expr__id1501378.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.generator"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template generator</span></h2> +<p>boost::proto::generator — A generator that wraps expressions passed to it in the specified extension wrapper.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">typename</span> <span class="special">></span> <span class="keyword">class</span> Extends<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="generator.html" title="Struct template generator">generator</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="generator/result_This_Expr__id1501378.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a class="link" href="generator/result_This_Expr__id1501378.html#boost.proto.generator.result_This(Expr)_id1501378.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="generator.html#id1501414-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a class="link" href="generator.html#id1501418-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2745787"></a><h2>Description</h2> +<p> + Generators are intended for use as the first template parameter to the + <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code> + class template and control if and how expressions within that domain are to be customized. + <code class="computeroutput">proto::generator<></code> wraps each expression passed to it in + the <code class="computeroutput">Extends<></code> wrapper. + </p> +<div class="refsect2"> +<a name="id2745823"></a><h3> +<a name="id1501414-bb"></a><code class="computeroutput">generator</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a name="id1501418-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>A Proto expression</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p><code class="computeroutput">Extends<Expr>(expr)</code></p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="basic_default_generator.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generator/result_This_Expr__id1501378.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/generator/result_This_Expr__id1501378.html b/doc/html/boost/proto/generator/result_This_Expr__id1501378.html new file mode 100755 index 0000000000..bb6bdd8b5f --- /dev/null +++ b/doc/html/boost/proto/generator/result_This_Expr__id1501378.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../generator.html#id2745787" title="Description"> +<link rel="prev" href="../generator.html" title="Struct template generator"> +<link rel="next" href="../pod_generator.html" title="Struct template pod_generator"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generator.html#id2745787"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pod_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.generator.result_This(Expr)_id1501378"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::generator::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1501378.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a name="boost.proto.generator.result_This(Expr)_id1501378.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generator.html#id2745787"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pod_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/greater.html b/doc/html/boost/proto/greater.html new file mode 100755 index 0000000000..7b44dd7f40 --- /dev/null +++ b/doc/html/boost/proto/greater.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template greater</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="less/impl.html" title="Struct template impl"> +<link rel="next" href="greater/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.greater"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template greater</span></h2> +<p>boost::proto::greater — A metafunction for generating greater expression types, + a grammar element for matching greater expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="greater.html" title="Struct template greater">greater</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">greater</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/greater.html" title="Struct greater">proto::tag::greater</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.greater.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/greater.html" title="Struct greater">proto::tag::greater</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.greater.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="greater/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><greater>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2825472"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/greater/impl.html b/doc/html/boost/proto/greater/impl.html new file mode 100755 index 0000000000..0fc92f78b7 --- /dev/null +++ b/doc/html/boost/proto/greater/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../greater.html#id2825472" title="Description"> +<link rel="prev" href="../greater.html" title="Struct template greater"> +<link rel="next" href="../less_equal.html" title="Struct template less_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="../greater.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater.html#id2825472"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.greater.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::greater::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><greater>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater.html#id2825472"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/greater_equal.html b/doc/html/boost/proto/greater_equal.html new file mode 100755 index 0000000000..fa824d5cc0 --- /dev/null +++ b/doc/html/boost/proto/greater_equal.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template greater_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="less_equal/impl.html" title="Struct template impl"> +<link rel="next" href="greater_equal/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_equal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_equal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.greater_equal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template greater_equal</span></h2> +<p>boost::proto::greater_equal — A metafunction for generating greater-or-equal expression types, + a grammar element for matching greater-or-equal expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="greater_equal.html" title="Struct template greater_equal">greater_equal</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">greater_equal</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/greater_equal.html" title="Struct greater_equal">proto::tag::greater_equal</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.greater_equal.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/greater_equal.html" title="Struct greater_equal">proto::tag::greater_equal</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.greater_equal.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="greater_equal/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><greater_equal>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2826616"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_equal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/greater_equal/impl.html b/doc/html/boost/proto/greater_equal/impl.html new file mode 100755 index 0000000000..3220c29566 --- /dev/null +++ b/doc/html/boost/proto/greater_equal/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../greater_equal.html#id2826616" title="Description"> +<link rel="prev" href="../greater_equal.html" title="Struct template greater_equal"> +<link rel="next" href="../equal_to.html" title="Struct template 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="../greater_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_equal.html#id2826616"><img src="../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.greater_equal.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::greater_equal::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><greater_equal>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../greater_equal.html#id2826616"><img src="../../../../../doc/src/images/up.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/doc/html/boost/proto/if_.html b/doc/html/boost/proto/if_.html new file mode 100755 index 0000000000..7e23e54c20 --- /dev/null +++ b/doc/html/boost/proto/if_.html @@ -0,0 +1,132 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="not_/impl.html" title="Struct template impl"> +<link rel="next" href="if_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.if_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template if_</span></h2> +<p>boost::proto::if_ — Used to select one grammar or another based on the result of a compile-time Boolean. + When used as a transform, <code class="computeroutput">proto::if_<></code> selects between two + transforms based on a compile-time Boolean.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> If<span class="special">,</span> <span class="keyword">typename</span> Then <span class="special">=</span> <a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> + <span class="keyword">typename</span> Else <span class="special">=</span> <a class="link" href="not_.html" title="Struct template not_">proto::not_</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span> <span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="if_.html" title="Struct template if_">if_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span><span class="identifier">if_</span><span class="special"><</span><span class="identifier">If</span><span class="special">,</span> <span class="identifier">Then</span><span class="special">,</span> <span class="identifier">Else</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">if_</span> <a name="boost.proto.if_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="if_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</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="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">If</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Then</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Else</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="if_/impl.html#boost.proto.if_.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="if_/impl.html#id1505258-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="if_/impl.html#id1505263-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2760520"></a><h2>Description</h2> +<p> + When <code class="computeroutput">proto::if_<If, Then, Else></code> is used as a grammar, + <code class="computeroutput">If</code> must be a Proto transform and + <code class="computeroutput">Then</code> and <code class="computeroutput">Else</code> must be grammars. + An expression type <code class="computeroutput">E</code> matches + <code class="computeroutput">proto::if_<If, Then, Else></code> if + <code class="computeroutput">boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>, If>(E)>::type::value</code> + is <code class="computeroutput">true</code> and + <code class="computeroutput">E</code> matches <code class="computeroutput">Then</code>; or, if + <code class="computeroutput">boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>, If>(E)>::type::value</code> + is <code class="computeroutput">false</code> and <code class="computeroutput">E</code> matches <code class="computeroutput">Else</code>. + </p> +<p> + The template parameter <code class="computeroutput">Then</code> defaults to <code class="computeroutput"><a class="link" href="_.html" title="Struct _">proto::_</a></code> + and <code class="computeroutput">Else</code> defaults to + <code class="computeroutput"><a class="link" href="not_.html" title="Struct template not_">proto::not_</a><<a class="link" href="_.html" title="Struct _">proto::_</a>></code>, + so an expression type <code class="computeroutput">E</code> will match + <code class="computeroutput">proto::if_<If></code> if and only if + <code class="computeroutput">boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>, If>(E)>::type::value</code> + is <code class="computeroutput">true</code>. + </p> +<p> + </p> +<pre class="programlisting"><span class="comment">// A grammar that only matches integral terminals,</span> +<span class="comment">// using is_integral<> from Boost.Type_traits.</span> +<span class="keyword">struct</span> <span class="identifier">IsIntegral</span> <span class="special">:</span> + <a class="link" href="and_.html" title="Struct template and_">proto::and_</a><span class="special"><</span> + <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> + <a class="link" href="if_.html" title="Struct template if_">proto::if_</a><span class="special"><</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><a class="link" href="_value.html" title="Struct _value">proto::_value</a><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + When <code class="computeroutput">proto::if_<If, Then, Else></code> is used as a transform, + <code class="computeroutput">If</code>, <code class="computeroutput">Then</code> and + <code class="computeroutput">Else</code> must be Proto transforms. When applying the transform to + an expression <code class="computeroutput">E</code>, state <code class="computeroutput">S</code> and + data <code class="computeroutput">V</code>, if + <code class="computeroutput">boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>, If>(E,S,V)>::type::value</code> + is <code class="computeroutput">true</code> then the <code class="computeroutput">Then</code> transform + is applied; otherwise the <code class="computeroutput">Else</code> transform is applied. + </p> +<pre class="programlisting"><span class="comment">// Match a terminal. If the terminal is integral, return</span> +<span class="comment">// mpl::true_; otherwise, return mpl::false_.</span> +<span class="keyword">struct</span> <span class="identifier">IsIntegral2</span> <span class="special">:</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span> + <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">_</span><span class="special">></span><span class="special">,</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">if_</span><span class="special"><</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special"><</span><a class="link" href="_value.html" title="Struct _value">proto::_value</a><span class="special">></span><span class="special">(</span><span class="special">)</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><span class="special">,</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span><span class="special">(</span><span class="special">)</span> + <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/if_/impl.html b/doc/html/boost/proto/if_/impl.html new file mode 100755 index 0000000000..75697b94d5 --- /dev/null +++ b/doc/html/boost/proto/if_/impl.html @@ -0,0 +1,106 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../if_.html#id2760520" title="Description"> +<link rel="prev" href="../if_.html" title="Struct template if_"> +<link rel="next" href="../or_.html" title="Struct template or_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../if_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../if_.html#id2760520"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../or_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.if_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::if_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</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="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">If</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Then</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><a class="link" href="../when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="../_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Else</span><span class="special">></span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.if_.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1505258-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1505263-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2762068"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2762071"></a><h3> +<a name="id1505258-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1505263-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>A data of arbitrary type </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>An expression </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a><<a class="link" href="../_.html" title="Struct _">proto::_</a>, <em class="replaceable"><code>Then-or-Else</code></em>>()(expr, state, data)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../if_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../if_.html#id2760520"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../or_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/if_else_.html b/doc/html/boost/proto/if_else_.html new file mode 100755 index 0000000000..a5fa4d7251 --- /dev/null +++ b/doc/html/boost/proto/if_else_.html @@ -0,0 +1,69 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template if_else_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="terminal/impl.html" title="Struct template impl"> +<link rel="next" href="if_else_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="terminal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_else_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.if_else_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template if_else_</span></h2> +<p>boost::proto::if_else_ — A metafunction for generating ternary conditional expression types, a grammar element for + matching ternary conditional expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> + that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> V<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="if_else_.html" title="Struct template if_else_">if_else_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">if_else_</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">V</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list3</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">V</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.if_else_.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list3</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">V</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.if_else_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="if_else_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><if_else_>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2815005"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="terminal/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_else_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/if_else_/impl.html b/doc/html/boost/proto/if_else_/impl.html new file mode 100755 index 0000000000..5f7390b5b3 --- /dev/null +++ b/doc/html/boost/proto/if_else_/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../if_else_.html#id2815005" title="Description"> +<link rel="prev" href="../if_else_.html" title="Struct template if_else_"> +<link rel="next" href="../unary_plus.html" title="Struct template unary_plus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../if_else_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../if_else_.html#id2815005"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unary_plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.if_else_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::if_else_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><if_else_>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../if_else_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../if_else_.html#id2815005"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unary_plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/int_.html b/doc/html/boost/proto/int_.html new file mode 100755 index 0000000000..7683940165 --- /dev/null +++ b/doc/html/boost/proto/int_.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template int_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>"> +<link rel="prev" href="char_.html" title="Struct template char_"> +<link rel="next" href="long_.html" title="Struct template long_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="char_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="long_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.int_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template int_</span></h2> +<p>boost::proto::int_ — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the specified int.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> I<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="int_.html" title="Struct template int_">int_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="integral_c.html" title="Struct template integral_c">proto::integral_c</a><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">I</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="char_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="long_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/integral_c.html b/doc/html/boost/proto/integral_c.html new file mode 100755 index 0000000000..8c871a1ca3 --- /dev/null +++ b/doc/html/boost/proto/integral_c.html @@ -0,0 +1,64 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template integral_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>"> +<link rel="prev" href="transform_impl.html" title="Struct template transform_impl"> +<link rel="next" href="integral_c/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_c/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.integral_c"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template integral_c</span></h2> +<p>boost::proto::integral_c — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the specified integral constant.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">T</span> I<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="integral_c.html" title="Struct template integral_c">integral_c</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">integral_c</span><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">I</span> <span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="integral_c/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">T</span> <a class="link" href="integral_c/impl.html#boost.proto.integral_c.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="integral_c/impl.html#id1533170-bb">public member functions</a></span> + <span class="identifier">T</span> <a class="link" href="integral_c/impl.html#id1533175-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2872877"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_c/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/integral_c/impl.html b/doc/html/boost/proto/integral_c/impl.html new file mode 100755 index 0000000000..103d261f70 --- /dev/null +++ b/doc/html/boost/proto/integral_c/impl.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../integral_c.html#id2872877" title="Description"> +<link rel="prev" href="../integral_c.html" title="Struct template integral_c"> +<link rel="next" href="../char_.html" title="Struct template char_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../integral_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../integral_c.html#id2872877"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../char_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.integral_c.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::integral_c::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">T</span> <a name="boost.proto.integral_c.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1533170-bb">public member functions</a></span> + <span class="identifier">T</span> <a class="link" href="impl.html#id1533175-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2873194"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2873198"></a><h3> +<a name="id1533170-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">T</span> <a name="id1533175-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">I</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../integral_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../integral_c.html#id2872877"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../char_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_aggregate.html b/doc/html/boost/proto/is_aggregate.html new file mode 100755 index 0000000000..19fcd58ec6 --- /dev/null +++ b/doc/html/boost/proto/is_aggregate.html @@ -0,0 +1,69 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_aggregate</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="is_transform.html" title="Struct template is_transform"> +<link rel="next" href="terminal.html" title="Struct template terminal"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_transform.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="terminal.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_aggregate"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_aggregate</span></h2> +<p>boost::proto::is_aggregate — A Boolean metafunction that indicates whether a type requires aggregate initialization. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_aggregate.html" title="Struct template is_aggregate">is_aggregate</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_<<em class="replaceable"><code>true-or-false</code></em>> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2813030"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::is_aggregate<></code> is used by the + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code> transform to determine how + to construct an object of some type <code class="computeroutput">T</code>, given some initialization arguments + <code class="computeroutput">a<sub>0</sub>,...a<sub>n</sub></code>. + If <code class="computeroutput">proto::is_aggregate<T>::value</code> is <code class="computeroutput">true</code>, + then an object of type <code class="computeroutput">T</code> will be initialized as + <code class="computeroutput">T t = {a<sub>0</sub>,...a<sub>n</sub>};</code>. + Otherwise, it will be initialized as + <code class="computeroutput">T t(a<sub>0</sub>,...a<sub>n</sub>)</code>. + </p> +<p> + Note: <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> and + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code>are aggregates. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_transform.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="terminal.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_callable.html b/doc/html/boost/proto/is_callable.html new file mode 100755 index 0000000000..2e5fe3a65d --- /dev/null +++ b/doc/html/boost/proto/is_callable.html @@ -0,0 +1,90 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_callable</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="result_of/child_c.html" title="Struct template child_c"> +<link rel="next" href="is_transform.html" title="Struct template is_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="result_of/child_c.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_transform.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_callable"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_callable</span></h2> +<p>boost::proto::is_callable — Boolean metafunction which tells whether a type is a callable + <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> or not.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_callable.html" title="Struct template is_callable">is_callable</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_<<em class="replaceable"><code>true-or-false</code></em>> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2812426"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::is_callable<></code> is used by the + <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when<></a></code> + transform to determine whether a function type <code class="computeroutput">R(A<sub>1</sub>,...A<sub>n</sub>)</code> + is a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> or an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>. + The former are evaluated using <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call<></a></code> + and the later with <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code>. + If <code class="computeroutput">proto::is_callable<R>::value</code> is <code class="computeroutput">true</code>, + the function type is a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>; otherwise, it is an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>. + </p> +<p> + Unless specialized for a type + <code class="computeroutput">T</code>, <code class="computeroutput">proto::is_callable<T>::value</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">T</code> is a template type + <code class="computeroutput">X<Y<sub>0</sub>,...Y<sub>n</sub>></code>, + where all <code class="computeroutput">Y<sub>x</sub></code> are types for + <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>, + <code class="computeroutput">proto::is_callable<T>::value</code> is + <code class="computeroutput">boost::is_same<Y<sub>n</sub>, <a class="link" href="callable.html" title="Struct callable">proto::callable</a>>::value</code>. + </p></li> +<li class="listitem"><p> + If <code class="computeroutput">T</code> is derived from <code class="computeroutput"><a class="link" href="callable.html" title="Struct callable">proto::callable</a></code>, + <code class="computeroutput">proto::is_callable<T>::value</code> is <code class="computeroutput">true</code>. + </p></li> +<li class="listitem"><p> + Otherwise, <code class="computeroutput">proto::is_callable<T>::value</code> + is <code class="computeroutput">false</code>. + </p></li> +</ul></div> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/child_c.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_transform.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_domain.html b/doc/html/boost/proto/is_domain.html new file mode 100755 index 0000000000..58d3abb42a --- /dev/null +++ b/doc/html/boost/proto/is_domain.html @@ -0,0 +1,61 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_domain</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>"> +<link rel="prev" href="deduce_domain.html" title="Struct deduce_domain"> +<link rel="next" href="domain_of.html" title="Struct template domain_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="deduce_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain_of.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_domain"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_domain</span></h2> +<p>boost::proto::is_domain</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.domain_hpp" title="Header <boost/proto/domain.hpp>">boost/proto/domain.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_domain.html" title="Struct template is_domain">is_domain</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_< <em class="replaceable"><code>true-or-false</code></em> > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2715992"></a><h2>Description</h2> +<p> + A metafunction that returns <code class="computeroutput">mpl::true_</code> if the type + <code class="computeroutput">T</code> is the type of a Proto domain; + <code class="computeroutput">mpl::false_</code> otherwise. If <code class="computeroutput">T</code> + inherits from <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code>, + <code class="computeroutput">is_domain<T></code> is <code class="computeroutput">mpl::true_</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_domain.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.domain_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="domain_of.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_expr.html b/doc/html/boost/proto/is_expr.html new file mode 100755 index 0000000000..e194eedf1a --- /dev/null +++ b/doc/html/boost/proto/is_expr.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="nary_expr/impl.html" title="Struct template impl"> +<link rel="next" href="tag_of.html" title="Struct template 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="nary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.is_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_expr</span></h2> +<p>boost::proto::is_expr — A Boolean metafunction that indicates whether a given type <code class="computeroutput">T</code> + is a Proto expression type.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_expr.html" title="Struct template is_expr">is_expr</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_<<em class="replaceable"><code>true-or-false</code></em>> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2842821"></a><h2>Description</h2> +<p> + If <code class="computeroutput">T</code> is an instantiation of + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> or + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code> or is an extension + (via <a class="link" href="extends.html" title="Struct template extends">proto::extends<></a> or + <a class="link" href="../../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>()) of such an instantiation, + <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><T>::value</code> + is <code class="computeroutput">true</code>. + Otherwise, <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><T>::value</code> + is <code class="computeroutput">false</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="nary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/doc/html/boost/proto/is_extension.html b/doc/html/boost/proto/is_extension.html new file mode 100755 index 0000000000..c408e7589d --- /dev/null +++ b/doc/html/boost/proto/is_extension.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.operators_hpp" title="Header <boost/proto/operators.hpp>"> +<link rel="prev" href="matches.html" title="Struct template matches"> +<link rel="next" href="../../BOOST_PROTO_DEFINE_OPERATORS.html" title="Macro BOOST_PROTO_DEFINE_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="matches.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.operators_hpp"><img src="../../../../doc/src/images/up.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_PROTO_DEFINE_OPERATORS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_extension"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_extension</span></h2> +<p>boost::proto::is_extension — Boolean metafunction that can be used to enable the operator overloads in the + <code class="computeroutput">exops</code> namespace for the specified non-Proto terminal type.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.operators_hpp" title="Header <boost/proto/operators.hpp>">boost/proto/operators.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_extension.html" title="Struct template is_extension">is_extension</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="is_expr.html" title="Struct template is_expr">is_expr</a>< T > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="matches.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.operators_hpp"><img src="../../../../doc/src/images/up.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_PROTO_DEFINE_OPERATORS.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_proto_expr.html b/doc/html/boost/proto/is_proto_expr.html new file mode 100755 index 0000000000..5a3781efe0 --- /dev/null +++ b/doc/html/boost/proto/is_proto_expr.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct is_proto_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.extends_hpp" title="Header <boost/proto/extends.hpp>"> +<link rel="prev" href="unexpr.html" title="Struct template unexpr"> +<link rel="next" href="extends.html" title="Struct template extends"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unexpr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.extends_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extends.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_proto_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct is_proto_expr</span></h2> +<p>boost::proto::is_proto_expr — Empty type to be used as a dummy template parameter of POD expression wrappers. It allows + argument-dependent lookup to find Proto's operator overloads.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.extends_hpp" title="Header <boost/proto/extends.hpp>">boost/proto/extends.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="is_proto_expr.html" title="Struct is_proto_expr">is_proto_expr</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2723415"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::is_proto_expr</code> allows argument-dependent lookup to find Proto's operator overloads. For example: + </p> +<p> + </p> +<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">Dummy</span> <span class="special">=</span> <a class="link" href="is_proto_expr.html" title="Struct is_proto_expr">proto::is_proto_expr</a><span class="special">></span> + <span class="keyword">struct</span> <span class="identifier">my_terminal</span> + <span class="special">{</span> + <a class="link" href="../../BOOST_PROTO_BASIC_EXTENDS.html" title="Macro BOOST_PROTO_BASIC_EXTENDS">BOOST_PROTO_BASIC_EXTENDS</a><span class="special">(</span> + <span class="keyword">typename</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="identifier">my_terminal</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> + <span class="special">,</span> <a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a> + <span class="special">)</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// ...</span> + <span class="identifier">my_terminal</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="identifier">_2</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="comment">// OK, uses proto::operator+</span></pre> +<p> + </p> +<p> + Without the second <code class="computeroutput">Dummy</code> template parameter, Proto's operator overloads + would not be considered by name lookup. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unexpr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.extends_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extends.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/is_transform.html b/doc/html/boost/proto/is_transform.html new file mode 100755 index 0000000000..a165185045 --- /dev/null +++ b/doc/html/boost/proto/is_transform.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template is_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="is_callable.html" title="Struct template is_callable"> +<link rel="next" href="is_aggregate.html" title="Struct template is_aggregate"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_callable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_aggregate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.is_transform"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template is_transform</span></h2> +<p>boost::proto::is_transform — Boolean metafunction which tells whether a type is a + <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> or not.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="is_transform.html" title="Struct template is_transform">is_transform</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_<<em class="replaceable"><code>true-or-false</code></em>> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2812780"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::is_transform<></code> is used by the + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code> + transform to determine whether a type <code class="computeroutput">R</code> represents a + <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> to apply, or whether it merely represents itself. + </p> +<p> + It is also used by the + <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call<></a></code> + transform to determine whether the function types <code class="computeroutput">R()</code>, + <code class="computeroutput">R(A1)</code>, and <code class="computeroutput">R(A1, A2)</code> should + be passed the expression, state and data parameters (as needed). + </p> +<p> + Unless specialized for a type + <code class="computeroutput">T</code>, <code class="computeroutput">proto::is_transform<T>::value</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">T</code> is a class type that inherits directly or indirectly from + an instantiation of + <code class="computeroutput"><a class="link" href="transform.html" title="Struct template transform">proto::transform<></a></code>, + <code class="computeroutput">proto::is_transform<T>::value</code> is <code class="computeroutput">true</code>. + </p></li> +<li class="listitem"><p> + Otherwise, <code class="computeroutput">proto::is_transform<T>::value</code> + is <code class="computeroutput">false</code>. + </p></li> +</ul></div> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_callable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_aggregate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/lazy.html b/doc/html/boost/proto/lazy.html new file mode 100755 index 0000000000..f202a95040 --- /dev/null +++ b/doc/html/boost/proto/lazy.html @@ -0,0 +1,89 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template lazy</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.lazy_hpp" title="Header <boost/proto/transform/lazy.hpp>"> +<link rel="prev" href="size_t.html" title="Struct template size_t"> +<link rel="next" href="lazy/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_t.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.lazy_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lazy/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.lazy"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template lazy</span></h2> +<p>boost::proto::lazy — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that uses + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code> to build a + <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>, and then uses + <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call<></a></code> to apply it. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.lazy_hpp" title="Header <boost/proto/transform/lazy.hpp>">boost/proto/transform/lazy.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="lazy.html" title="Struct template lazy">lazy</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">lazy</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="lazy/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="lazy/impl.html#boost.proto.lazy.impltypes">types</a></span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="lazy/impl.html#boost.proto.lazy.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="lazy/impl.html#id1533661-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="lazy/impl.html#id1533665-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2874460"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::lazy<></code> is useful as a higher-order transform, + when the transform to be applied depends on the current state of the transformation. The + invocation of the <code class="computeroutput"> + <a class="link" href="make.html" title="Struct template make">proto::make<></a> + </code> transform evaluates any nested transforms, and the resulting type is treated + as a <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>, which is evaluated with + <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call<></a></code>. + </p> +<p> + For the full description of the behavior of the + <code class="computeroutput"> + <a class="link" href="lazy.html" title="Struct template lazy">proto::lazy<></a> + </code> + transform, see the documentation for the nested + <code class="computeroutput"> + <a class="link" href="lazy/impl.html" title="Struct template impl">proto::lazy::impl<></a> + </code> + class template. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_t.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.lazy_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lazy/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/lazy/impl.html b/doc/html/boost/proto/lazy/impl.html new file mode 100755 index 0000000000..caf91d0d4e --- /dev/null +++ b/doc/html/boost/proto/lazy/impl.html @@ -0,0 +1,135 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../lazy.html#id2874460" title="Description"> +<link rel="prev" href="../lazy.html" title="Struct template lazy"> +<link rel="next" href="../noinvoke.html" title="Struct template noinvoke"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../lazy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lazy.html#id2874460"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../noinvoke.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.lazy.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::lazy::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.lazy_hpp" title="Header <boost/proto/transform/lazy.hpp>">boost/proto/transform/lazy.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// <a class="link" href="impl.html#boost.proto.lazy.impltypes">types</a></span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="impl.html#boost.proto.lazy.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1533661-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1533665-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2874838"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2874841"></a><h3> +<a name="boost.proto.lazy.impltypes"></a><code class="computeroutput">impl</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.lazy.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span></p> +<p> + <code class="computeroutput"><a class="link" href="../lazy.html" title="Struct template lazy">proto::lazy</a><T>::impl<Expr,State,Data>::result_type</code> + is calculated as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">T</code> if of the form + <code class="computeroutput">O(A<sub>0</sub>,...A<sub>n</sub>)</code>, then let <code class="computeroutput">O'</code> + be <code class="computeroutput">boost::result_of<<a class="link" href="../make.html" title="Struct template make">proto::make</a><O>(Expr, State, Data)>::type</code> + and let <code class="computeroutput">T'</code> be <code class="computeroutput">O'(A<sub>0</sub>,...A<sub>n</sub>)</code>. + </p></li> +<li class="listitem"><p> + Otherwise, let <code class="computeroutput">T'</code> + be <code class="computeroutput">boost::result_of<<a class="link" href="../make.html" title="Struct template make">proto::make</a><T>(Expr, State, Data)>::type</code>. + </p></li> +</ul></div> +<p> + </p> +<p> + The result type is + <code class="computeroutput"> + boost::result_of<<a class="link" href="../call.html" title="Struct template call">proto::call</a><T'>(Expr, State, Data)>::type + </code>. + </p> +<p> + </p> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2875034"></a><h3> +<a name="id1533661-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1533665-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../lazy.html" title="Struct template lazy">proto::lazy</a></code><T>::impl<Expr,State,Data>::operator()</code> behaves as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">T</code> if of the form + <code class="computeroutput">O(A<sub>0</sub>,...A<sub>n</sub>)</code>, then let <code class="computeroutput">O'</code> + be <code class="computeroutput">boost::result_of<<code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make</a></code><O>(Expr, State, Data)>::type</code> + and let <code class="computeroutput">T'</code> be <code class="computeroutput">O'(A<sub>0</sub>,...A<sub>n</sub>)</code>. + </p></li> +<li class="listitem"><p> + Otherwise, let <code class="computeroutput">T'</code> + be <code class="computeroutput">boost::result_of<<code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make</a></code><T>(Expr, State, Data)>::type</code>. + </p></li> +</ul></div> +<p> + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"> + <a class="link" href="../call.html" title="Struct template call">proto::call</a><T'>()(expr, state, data) + </code> + </p></td> +</tr></tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../lazy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lazy.html#id2874460"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../noinvoke.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/left_id1528275.html b/doc/html/boost/proto/left_id1528275.html new file mode 100755 index 0000000000..c7dd7df9ab --- /dev/null +++ b/doc/html/boost/proto/left_id1528275.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function left</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="value_id1528169.html" title="Function value"> +<link rel="next" href="right_id1528399.html" title="Function right"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_id1528169.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right_id1528399.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.left_id1528275"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function left</span></h2> +<p>boost::proto::left — Return the left child of the specified binary Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">left</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">left</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2845733"></a><h2>Description</h2> +<p>Return the left child of the specified binary Proto expression. The child is returned by reference.</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput">2 == Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A reference to the left child of <code class="computeroutput">expr</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_id1528169.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right_id1528399.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/less.html b/doc/html/boost/proto/less.html new file mode 100755 index 0000000000..2e7157a69a --- /dev/null +++ b/doc/html/boost/proto/less.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template less</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="minus/impl.html" title="Struct template impl"> +<link rel="next" href="less/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.less"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template less</span></h2> +<p>boost::proto::less — A metafunction for generating less expression types, + a grammar element for matching less expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="less.html" title="Struct template less">less</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">less</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/less.html" title="Struct less">proto::tag::less</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.less.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/less.html" title="Struct less">proto::tag::less</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.less.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="less/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><less>::template impl<Expr, State, Data> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2824900"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/less/impl.html b/doc/html/boost/proto/less/impl.html new file mode 100755 index 0000000000..b5b53877d1 --- /dev/null +++ b/doc/html/boost/proto/less/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../less.html#id2824900" title="Description"> +<link rel="prev" href="../less.html" title="Struct template less"> +<link rel="next" href="../greater.html" title="Struct template greater"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less.html#id2824900"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.less.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::less::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><less>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less.html#id2824900"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/less_equal.html b/doc/html/boost/proto/less_equal.html new file mode 100755 index 0000000000..b001aa4cb0 --- /dev/null +++ b/doc/html/boost/proto/less_equal.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template less_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="greater/impl.html" title="Struct template impl"> +<link rel="next" href="less_equal/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_equal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.less_equal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template less_equal</span></h2> +<p>boost::proto::less_equal — A metafunction for generating less-or-equal expression types, + a grammar element for matching less-or-equal expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="less_equal.html" title="Struct template less_equal">less_equal</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">less_equal</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/less_equal.html" title="Struct less_equal">proto::tag::less_equal</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.less_equal.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/less_equal.html" title="Struct less_equal">proto::tag::less_equal</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.less_equal.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="less_equal/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><less_equal>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2826043"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_equal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/less_equal/impl.html b/doc/html/boost/proto/less_equal/impl.html new file mode 100755 index 0000000000..df15b4d366 --- /dev/null +++ b/doc/html/boost/proto/less_equal/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../less_equal.html#id2826043" title="Description"> +<link rel="prev" href="../less_equal.html" title="Struct template less_equal"> +<link rel="next" href="../greater_equal.html" title="Struct template greater_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_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_equal.html#id2826043"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.less_equal.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::less_equal::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><less_equal>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../less_equal.html#id2826043"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/listN.html b/doc/html/boost/proto/listN.html new file mode 100755 index 0000000000..b03ba15692 --- /dev/null +++ b/doc/html/boost/proto/listN.html @@ -0,0 +1,72 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template listN</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.args_hpp" title="Header <boost/proto/args.hpp>"> +<link rel="prev" href="term.html" title="Struct template term"> +<link rel="next" href="functional/display_expr.html" title="Struct display_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="term.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.args_hpp"><img src="../../../../doc/src/images/up.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/display_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.listN"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template listN</span></h2> +<p>boost::proto::listN — <code class="computeroutput">proto::list1<></code>, <code class="computeroutput">proto::list2<></code>, etc., + are type sequences for use as the 2<sup>nd</sup> parameter to the + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> or + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code> class templates.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.args_hpp" title="Header <boost/proto/args.hpp>">boost/proto/args.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> Arg<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="listN.html" title="Struct template listN">listN</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Arg</span><em class="replaceable"><code><span class="identifier">M</span></code></em> <a name="boost.proto.listN.childM"></a><span class="identifier">childM</span><span class="special">;</span> <span class="comment">// For each <em class="replaceable"><code>M</code></em> in <em class="replaceable"><code>[0,N)</code></em></span> + + <span class="comment">// public data members</span> + <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">arity</span><span class="special">;</span> <span class="comment">// <code class="computeroutput">= N;</code></span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2709352"></a><h2>Description</h2> +<p> + Type sequences, for use as the 2<sup>nd</sup> parameter to the + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> or + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code> class template. The + types in the sequence correspond to the children of a node in an expression tree. + There is no type literally named "<code class="computeroutput">listN</code>"; rather, there is + a set of types named + <code class="computeroutput">proto::list1<></code>, + <code class="computeroutput">proto::list2<></code>, etc. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="term.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.args_hpp"><img src="../../../../doc/src/images/up.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/display_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/lit.html b/doc/html/boost/proto/lit.html new file mode 100755 index 0000000000..6399c2a0b6 --- /dev/null +++ b/doc/html/boost/proto/lit.html @@ -0,0 +1,85 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function lit</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.literal_hpp" title="Header <boost/proto/literal.hpp>"> +<link rel="prev" href="literal.html" title="Struct template literal"> +<link rel="next" href="functional/make_expr.html" title="Struct template make_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="literal.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.literal_hpp"><img src="../../../../doc/src/images/up.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/make_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.lit"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function lit</span></h2> +<p>boost::proto::lit — A helper function for creating a <code class="computeroutput"> + <a class="link" href="literal.html" title="Struct template literal">proto::literal<></a></code> wrapper. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.literal_hpp" title="Header <boost/proto/literal.hpp>">boost/proto/literal.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">&</span> <span class="special">></span> <span class="keyword">const</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span> <span class="keyword">const</span> <span class="identifier">lit</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2750740"></a><h2>Description</h2> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">t</code></span></p></td> +<td><p>The object to wrap.</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="literal.html" title="Struct template literal">proto::literal</a><T &>(t)</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +<tr> +<td><p><span class="term">Notes:</span></p></td> +<td><p>The returned value holds the argument by reference. </p></td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="literal.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.literal_hpp"><img src="../../../../doc/src/images/up.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/make_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/literal.html b/doc/html/boost/proto/literal.html new file mode 100755 index 0000000000..b8b70230e9 --- /dev/null +++ b/doc/html/boost/proto/literal.html @@ -0,0 +1,118 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template literal</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.literal_hpp" title="Header <boost/proto/literal.hpp>"> +<link rel="prev" href="wants_basic_expr.html" title="Struct template wants_basic_expr"> +<link rel="next" href="lit.html" title="Function lit"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="wants_basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.literal_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.literal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template literal</span></h2> +<p>boost::proto::literal — A simple wrapper for a terminal, provided for ease of use.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.literal_hpp" title="Header <boost/proto/literal.hpp>">boost/proto/literal.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="literal.html" title="Struct template literal">literal</a> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="extends.html" title="Struct template extends">proto::extends</a><span class="special"><</span><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span><a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span><span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">literal</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">></span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">></span> +<span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span><a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.literal.X"></a><span class="identifier">X</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span><span class="identifier">X</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.literal.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span><span class="identifier">X</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.literal.reference"></a><span class="identifier">reference</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span><span class="identifier">X</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.literal.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="literal.html#boost.proto.literalconstruct-copy-destruct">construct/copy/destruct</a></span> + <a class="link" href="literal.html#id1502291-bb"><span class="identifier">literal</span></a><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> U<span class="special">></span> <a class="link" href="literal.html#id1502294-bb"><span class="identifier">literal</span></a><span class="special">(</span><span class="identifier">U</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> U<span class="special">></span> <a class="link" href="literal.html#id1502315-bb"><span class="identifier">literal</span></a><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</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> U<span class="special">></span> <a class="link" href="literal.html#id1502337-bb"><span class="identifier">literal</span></a><span class="special">(</span><a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="literal.html#id1502244-bb">public member functions</a></span> + <span class="identifier">reference</span> <a class="link" href="literal.html#id1502249-bb"><span class="identifier">get</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">const_reference</span> <a class="link" href="literal.html#id1502268-bb"><span class="identifier">get</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2750066"></a><h2>Description</h2> +<p> + A simple wrapper for a terminal, provided for ease of use. In all cases, + <code class="computeroutput">proto::literal<X> l(x);</code> is equivalent to + <code class="computeroutput"><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><X>::type l = {x};</code>. + </p> +<p> + The <code class="computeroutput">Domain</code> template parameter defaults to + <code class="computeroutput"><a class="link" href="default_domain.html" title="Struct default_domain">proto::default_domain</a></code>. + </p> +<div class="refsect2"> +<a name="id2750116"></a><h3> +<a name="boost.proto.literalconstruct-copy-destruct"></a><code class="computeroutput">literal</code> + public + construct/copy/destruct</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"><pre class="literallayout"><a name="id1502291-bb"></a><span class="identifier">literal</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> <a name="id1502294-bb"></a><span class="identifier">literal</span><span class="special">(</span><span class="identifier">U</span> <span class="special">&</span> u<span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> <a name="id1502315-bb"></a><span class="identifier">literal</span><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span> <span class="special">&</span> u<span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> <a name="id1502337-bb"></a><span class="identifier">literal</span><span class="special">(</span><a class="link" href="literal.html" title="Struct template literal">proto::literal</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> u<span class="special">)</span><span class="special">;</span></pre></li> +</ol></div> +</div> +<div class="refsect2"> +<a name="id2750383"></a><h3> +<a name="id1502244-bb"></a><code class="computeroutput">literal</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">reference</span> <a name="id1502249-bb"></a><span class="identifier">get</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"><a class="link" href="value_id1528169.html" title="Function value">proto::value</a>(*this)</code></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">const_reference</span> <a name="id1502268-bb"></a><span class="identifier">get</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"><a class="link" href="value_id1528169.html" title="Function value">proto::value</a>(*this)</code></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="wants_basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.literal_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lit.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_and.html b/doc/html/boost/proto/logical_and.html new file mode 100755 index 0000000000..870bca6198 --- /dev/null +++ b/doc/html/boost/proto/logical_and.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template logical_and</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="logical_or/impl.html" title="Struct template impl"> +<link rel="next" href="logical_and/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_or/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_and/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_and"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template logical_and</span></h2> +<p>boost::proto::logical_and — A metafunction for generating logical-and expression types, + a grammar element for matching logical-and expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="logical_and.html" title="Struct template logical_and">logical_and</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">logical_and</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/logical_and.html" title="Struct logical_and">proto::tag::logical_and</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_and.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/logical_and.html" title="Struct logical_and">proto::tag::logical_and</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_and.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="logical_and/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_and>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2828905"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_or/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_and/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_and/impl.html b/doc/html/boost/proto/logical_and/impl.html new file mode 100755 index 0000000000..1ef0544e54 --- /dev/null +++ b/doc/html/boost/proto/logical_and/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../logical_and.html#id2828905" title="Description"> +<link rel="prev" href="../logical_and.html" title="Struct template logical_and"> +<link rel="next" href="../bitwise_and.html" title="Struct template bitwise_and"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_and.html#id2828905"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_and.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::logical_and::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_and>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_and.html#id2828905"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_not.html b/doc/html/boost/proto/logical_not.html new file mode 100755 index 0000000000..622f015900 --- /dev/null +++ b/doc/html/boost/proto/logical_not.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template logical_not</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="address_of/impl.html" title="Struct template impl"> +<link rel="next" href="logical_not/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="address_of/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_not/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_not"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template logical_not</span></h2> +<p>boost::proto::logical_not — A metafunction for generating logical_not expression types, + a grammar element for matching logical_not expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="logical_not.html" title="Struct template logical_not">logical_not</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">logical_not</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/logical_not.html" title="Struct logical_not">proto::tag::logical_not</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_not.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/logical_not.html" title="Struct logical_not">proto::tag::logical_not</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_not.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="logical_not/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_not>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2818199"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="address_of/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_not/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_not/impl.html b/doc/html/boost/proto/logical_not/impl.html new file mode 100755 index 0000000000..a17439a9c3 --- /dev/null +++ b/doc/html/boost/proto/logical_not/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../logical_not.html#id2818199" title="Description"> +<link rel="prev" href="../logical_not.html" title="Struct template logical_not"> +<link rel="next" href="../pre_inc.html" title="Struct template pre_inc"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_not.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_not.html#id2818199"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pre_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_not.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::logical_not::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_not>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_not.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_not.html#id2818199"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pre_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_or.html b/doc/html/boost/proto/logical_or.html new file mode 100755 index 0000000000..2dcdfe14c3 --- /dev/null +++ b/doc/html/boost/proto/logical_or.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template logical_or</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="not_equal_to/impl.html" title="Struct template impl"> +<link rel="next" href="logical_or/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_to/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_or/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_or"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template logical_or</span></h2> +<p>boost::proto::logical_or — A metafunction for generating logical-or expression types, + a grammar element for matching logical-or expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="logical_or.html" title="Struct template logical_or">logical_or</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">logical_or</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/logical_or.html" title="Struct logical_or">proto::tag::logical_or</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_or.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/logical_or.html" title="Struct logical_or">proto::tag::logical_or</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.logical_or.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="logical_or/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_or>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2828333"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_to/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_or/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/logical_or/impl.html b/doc/html/boost/proto/logical_or/impl.html new file mode 100755 index 0000000000..39aee483a7 --- /dev/null +++ b/doc/html/boost/proto/logical_or/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../logical_or.html#id2828333" title="Description"> +<link rel="prev" href="../logical_or.html" title="Struct template logical_or"> +<link rel="next" href="../logical_and.html" title="Struct template logical_and"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_or.html#id2828333"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.logical_or.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::logical_or::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><logical_or>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../logical_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../logical_or.html#id2828333"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/long_.html b/doc/html/boost/proto/long_.html new file mode 100755 index 0000000000..8124393b50 --- /dev/null +++ b/doc/html/boost/proto/long_.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template long_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>"> +<link rel="prev" href="int_.html" title="Struct template int_"> +<link rel="next" href="size_t.html" title="Struct template size_t"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="int_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.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_t.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.long_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template long_</span></h2> +<p>boost::proto::long_ — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the specified long.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">long</span> I<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="long_.html" title="Struct template long_">long_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="integral_c.html" title="Struct template integral_c">proto::integral_c</a><span class="special"><</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">I</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="int_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.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_t.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/make.html b/doc/html/boost/proto/make.html new file mode 100755 index 0000000000..70ec59a7c1 --- /dev/null +++ b/doc/html/boost/proto/make.html @@ -0,0 +1,81 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template make</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>"> +<link rel="prev" href="protect/impl.html" title="Struct template impl"> +<link rel="next" href="make/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="protect/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.make"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template make</span></h2> +<p>boost::proto::make — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that computes a type by evaluating + any nested transforms and then constructs an object of that type. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>">boost/proto/transform/make.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="make.html" title="Struct template make">make</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">make</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="make/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// <a class="link" href="make/impl.html#boost.proto.make.impltypes">types</a></span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="make/impl.html#boost.proto.make.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="make/impl.html#id1534634-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="make/impl.html#id1534638-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2877588"></a><h2>Description</h2> +<p> + The purpose of <code class="computeroutput">proto::make<></code> is to annotate a transform as + an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> so that + <code class="computeroutput"> + <a class="link" href="when.html" title="Struct template when">proto::when<></a> + </code> knows + how to apply it. + </p> +<p> + For the full description of the behavior of the + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code> + transform, see the documentation for the nested + <code class="computeroutput"><a class="link" href="make/impl.html" title="Struct template impl">proto::make::impl<></a></code> + class template. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="protect/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.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/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/make/impl.html b/doc/html/boost/proto/make/impl.html new file mode 100755 index 0000000000..5c22cda760 --- /dev/null +++ b/doc/html/boost/proto/make/impl.html @@ -0,0 +1,234 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../make.html#id2877588" title="Description"> +<link rel="prev" href="../make.html" title="Struct template make"> +<link rel="next" href="../pass_through.html" title="Struct template pass_through"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2877588"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.make.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::make::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>">boost/proto/transform/make.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// <a class="link" href="impl.html#boost.proto.make.impltypes">types</a></span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="impl.html#boost.proto.make.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1534634-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1534638-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2877982"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2877985"></a><h3> +<a name="boost.proto.make.impltypes"></a><code class="computeroutput">impl</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a name="boost.proto.make.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span></p> +<p> + <code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make</a><T>::impl<Expr, State, Data>::result_type</code> is + computed as follows: + </p> +<p> + If <code class="computeroutput">T</code> is an <a class="link" href="../../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> of the form + <code class="computeroutput">Object(A<sub>0</sub>,...A<sub>n</sub>)</code>, + then let <code class="computeroutput">O</code> be the return type + <code class="computeroutput">Object</code>. Otherwise, let <code class="computeroutput">O</code> + be <code class="computeroutput">T</code>. The <code class="computeroutput">result_type</code> typedef is + then computed as follows: + </p> +<p> + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput"><a class="link" href="../is_transform.html" title="Struct template is_transform">proto::is_transform</a><O>::value</code> is + <code class="computeroutput">true</code>, then let the result type be + <code class="computeroutput"> + boost::result_of<<a class="link" href="../when.html" title="Struct template when">proto::when</a><<a class="link" href="../_.html" title="Struct _">_</a>, O>(Expr, State, Data)>::type + </code>. + Note that a substitution took place. + </p></li> +<li class="listitem"> + If <code class="computeroutput">O</code> is a template like + <code class="computeroutput"><a class="link" href="../noinvoke.html" title="Struct template noinvoke">proto::noinvoke</a><S<X<sub>0</sub>,...X<sub>n</sub>> ></code>, + then the result type is calculated as follows: + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"><p> + For each <code class="computeroutput">i</code> in + <code class="computeroutput">[0,n]</code>, let <code class="computeroutput"> + X<sub>i</sub>' + </code> be + <code class="computeroutput"> + boost::result_of<<a class="link" href="../make.html" title="Struct template make">proto::make</a><X<sub>i</sub>>(Expr, State, Data)>::type + </code> + (which evaluates this procedure recursively). Note that a substitution took place. (In this case, + Proto merely assumes that a substitution took place for the sake of compile-time efficiency. There + would be no reason to use <code class="computeroutput"><a class="link" href="../noinvoke.html" title="Struct template noinvoke">proto::noinvoke<></a></code> + otherwise.) + </p></li> +<li class="listitem"><p> + The result type is + <code class="computeroutput"> + S<X<sub>0</sub>',...X<sub>n</sub>'> + </code>. + </p></li> +</ul></div> +</li> +<li class="listitem"> + If <code class="computeroutput">O</code> is a template like + <code class="computeroutput">S<X<sub>0</sub>,...X<sub>n</sub>></code>, + then the result type is calculated as follows: + <div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"><p> + For each <code class="computeroutput">i</code> in + <code class="computeroutput">[0,n]</code>, let <code class="computeroutput"> + X<sub>i</sub>' + </code> be + <code class="computeroutput"> + boost::result_of<<a class="link" href="../make.html" title="Struct template make">proto::make</a><X<sub>i</sub>>(Expr, State, Data)>::type + </code> + (which evaluates this procedure recursively). Note whether any substitutions took place during + this operation. + </p></li> +<li class="listitem"><p> + If any substitutions took place in the above step and + <code class="computeroutput"> + S<X<sub>0</sub>',...X<sub>n</sub>'> + </code> has a nested + <code class="computeroutput">type</code> typedef, the result type is + <code class="computeroutput"> + S<X<sub>0</sub>',...X<sub>n</sub>'>::type + </code>. + </p></li> +<li class="listitem"><p> + Otherwise, the result type is + <code class="computeroutput"> + S<X<sub>0</sub>',...X<sub>n</sub>'> + </code>. + </p></li> +</ul></div> +</li> +<li class="listitem"> + Otherwise, the result type is <code class="computeroutput">O</code>, and note that no + substitution took place. + </li> +</ul></div> +<p> + </p> +<p> + Note that <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when<></a></code> is implemented + in terms of <code class="computeroutput"><a class="link" href="../call.html" title="Struct template call">proto::call<></a></code> + and <code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make<></a></code>, so the + above procedure is evaluated recursively. + </p> +</li></ol></div> +</div> +<div class="refsect2"> +<a name="id2878497"></a><h3> +<a name="id1534634-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1534638-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make</a></code><T>::impl<Expr,State,Data>::operator() + </code> + behaves as follows: + </p> +<p> + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"> +<p> + If <code class="computeroutput">T</code> is of the form + <code class="computeroutput">O(A<sub>0</sub>,...A<sub>n</sub>)</code>, then: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> +<p> + If <code class="computeroutput"> + <code class="computeroutput"><a class="link" href="../is_aggregate.html" title="Struct template is_aggregate">proto::is_aggregate</a></code><result_type>::value + </code> is <code class="computeroutput">true</code>, then construct + and return an object <code class="computeroutput">that</code> as follows: + </p> +<pre class="programlisting">result_type that = { + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>>()(expr, state, data), + ... + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>>()(expr, state, data) +};</pre> +<p> + </p> +</li> +<li class="listitem"> +<p> + Otherwise, construct + and return an object <code class="computeroutput">that</code> as follows: + </p> +<pre class="programlisting">result_type that( + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>0</sub>>()(expr, state, data), + ... + <code class="computeroutput"><a class="link" href="../when.html" title="Struct template when">proto::when</a></code><<code class="computeroutput"><a class="link" href="../_.html" title="Struct _">_</a></code>, A<sub>n</sub>>()(expr, state, data) +);</pre> +<p> + </p> +</li> +</ul></div> +</li> +<li class="listitem"> +<p> + Otherwise, construct + and return an object <code class="computeroutput">that</code> as follows: + </p> +<pre class="programlisting">result_type that = result_type();</pre> +<p> + </p> +</li> +</ul></div> +<p> + </p> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../make.html#id2877588"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pass_through.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/make_expr_id1503817.html b/doc/html/boost/proto/make_expr_id1503817.html new file mode 100755 index 0000000000..eb3897b96f --- /dev/null +++ b/doc/html/boost/proto/make_expr_id1503817.html @@ -0,0 +1,103 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function make_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="result_of/unpack_expr_Tag__Domain_id1503713.html" title="Struct template unpack_expr<Tag, Domain, Sequence>"> +<link rel="next" href="unpack_expr_id1504094.html" title="Function unpack_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/unpack_expr_Tag__Domain_id1503713.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr_id1504094.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.make_expr_id1503817"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function make_expr</span></h2> +<p>boost::proto::make_expr — Construct an expression of the requested tag type with a domain and with the specified + arguments as children.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <span class="identifier">make_expr</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <span class="identifier">make_expr</span><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">...</span> a<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2755909"></a><h2>Description</h2> +<p> + This function template may be invoked either with or without specifying a + <code class="computeroutput">Domain</code> template parameter. If no domain is specified, the domain + is deduced by examining domains of the given arguments. See + <code class="computeroutput"><code class="computeroutput"><a class="link" href="deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a></code></code> for a full + description of the procedure used. + </p> +<p> + Let <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(x)</code> be defined such that: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">x</code> is a <code class="computeroutput">boost::reference_wrapper<></code>, + <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(x)</code> is equivalent to + <code class="computeroutput"><code class="computeroutput"><a class="link" href="as_child_id1527575.html" title="Function as_child">proto::as_child</a></code><Domain>(x.get())</code>. + </p></li> +<li class="listitem"><p> + Otherwise, <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(x)</code> is equivalent to + <code class="computeroutput"><code class="computeroutput"><a class="link" href="as_expr_id1527385.html" title="Function as_expr">proto::as_expr</a></code><Domain>(x)</code>. + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput"><code class="computeroutput"><a class="link" href="wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a></code><typename Domain::proto_generator>::value</code> + is true, then let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code></code>; otherwise, + let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a></code></code>. + </p> +<p> + Let <code class="computeroutput"><em class="replaceable"><code>MAKE</code></em>(Tag, b...)</code> be defined as + <code class="computeroutput"><em class="replaceable"><code>E</code></em><Tag, + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::listN</a></code><decltype(b)...> >::make(b...)</code>. + </p> +<p> + If <code class="computeroutput">Tag</code> is + <code class="computeroutput"><code class="computeroutput"><a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a></code></code>, then return + <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(a<sub>0</sub>)</code>. + </p> +<p> + Otherwise, return + <code class="computeroutput">Domain()(<em class="replaceable"><code>MAKE</code></em>(Tag, <em class="replaceable"><code>WRAP</code></em>(a)...))</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_of/unpack_expr_Tag__Domain_id1503713.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr_id1504094.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/matches.html b/doc/html/boost/proto/matches.html new file mode 100755 index 0000000000..e5839f4e44 --- /dev/null +++ b/doc/html/boost/proto/matches.html @@ -0,0 +1,298 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template matches</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="vararg.html" title="Struct template vararg"> +<link rel="next" href="is_extension.html" title="Struct template is_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="vararg.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.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_extension.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.matches"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template matches</span></h2> +<p>boost::proto::matches — A Boolean metafunction that evaluates whether a given expression type matches a grammar.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="matches.html" title="Struct template matches">matches</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_<<em class="replaceable"><code>true-or-false</code></em>> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2766126"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::matches<Expr, Grammar></code> inherits from + <code class="computeroutput">mpl::true_</code> if + <code class="computeroutput">Expr::proto_grammar</code> matches + <code class="computeroutput">Grammar::proto_grammar</code>, and from + <code class="computeroutput">mpl::false_</code> otherwise. + </p> +<p> + Non-terminal expressions are matched against a grammar according to the following rules: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + The wildcard pattern, <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code>, matches any expression. + </p></li> +<li class="listitem"><p> + An expression + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><AT, + <a class="link" href="listN.html" title="Struct template listN"> + proto::listN + </a><A<sub>0</sub>,...A<sub>n</sub>> + > + </code> + matches a grammar + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><BT, + <a class="link" href="listN.html" title="Struct template listN"> + proto::listN + </a><B<sub>0</sub>,...B<sub>n</sub>> + > + </code> if + <code class="computeroutput">BT</code> is <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code> or + <code class="computeroutput">AT</code>, and if <code class="computeroutput"> + A<sub>x</sub> + </code> matches + <code class="computeroutput"> + B<sub>x</sub> + </code> for each <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>. + </p></li> +<li class="listitem"><p> + An expression + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><AT, + <a class="link" href="listN.html" title="Struct template listN"> + proto::listN + </a><A<sub>0</sub>,...A<sub>n</sub>,U<sub>0</sub>,...U<sub>m</sub>> + > + </code> matches a grammar + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><BT, + <a class="link" href="listN.html" title="Struct template listN"> + proto::listM + </a><B<sub>0</sub>,...B<sub>n</sub>,<a class="link" href="vararg.html" title="Struct template vararg">proto::vararg</a><V> + > > + </code> if + <code class="computeroutput">BT</code> is <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code> or + <code class="computeroutput">AT</code>, and if + <code class="computeroutput"> + A<sub>x</sub> + </code> matches + <code class="computeroutput"> + B<sub>x</sub> + </code> for each + <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code> and if + <code class="computeroutput"> + U<sub>x</sub> + </code> matches + <code class="computeroutput">V</code> for each <code class="computeroutput">x</code> in + <code class="computeroutput">[0,m]</code>. + </p></li> +<li class="listitem"><p> + An expression <code class="computeroutput">E</code> matches + <code class="computeroutput"> + <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><B<sub>0</sub>,...B<sub>n</sub>> + </code> if + <code class="computeroutput">E</code> matches some + <code class="computeroutput"> + B<sub>x</sub> + </code> for + <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>. + </p></li> +<li class="listitem"><p> + An expression <code class="computeroutput">E</code> matches + <code class="computeroutput"> + <a class="link" href="and_.html" title="Struct template and_">proto::and_</a><B<sub>0</sub>,...B<sub>n</sub>> + </code> if + <code class="computeroutput">E</code> matches all + <code class="computeroutput"> + B<sub>x</sub> + </code> for + <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>. + </p></li> +<li class="listitem"> +<p> + An expression <code class="computeroutput">E</code> matches + <code class="computeroutput"> + <a class="link" href="if_.html" title="Struct template if_">proto::if_</a><T,U,V> + </code> if: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="circle"> +<li class="listitem"> +<code class="computeroutput"> + boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>,T>(E)>::type::value + </code> + is <code class="computeroutput">true</code> and + <code class="computeroutput">E</code> matches + <code class="computeroutput">U</code>, <span class="emphasis"><em>or</em></span> +</li> +<li class="listitem"> +<code class="computeroutput"> + boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>,T>(E)>::type::value + </code> + is <code class="computeroutput">false</code> and <code class="computeroutput">E</code> matches + <code class="computeroutput">V</code>. + </li> +</ul></div> +<p> + Note: <code class="computeroutput">U</code> defaults to <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code> + and <code class="computeroutput">V</code> defaults to + <code class="computeroutput"> + <a class="link" href="not_.html" title="Struct template not_">proto::not_</a><<a class="link" href="_.html" title="Struct _">proto::_</a>> + </code>. + </p> +</li> +<li class="listitem"><p> + An expression <code class="computeroutput">E</code> matches + <code class="computeroutput"> + <a class="link" href="not_.html" title="Struct template not_">proto::not_</a><T> + </code> if + <code class="computeroutput">E</code> does <span class="emphasis"><em>not</em></span> match <code class="computeroutput">T</code>. + </p></li> +<li class="listitem"><p> + An expression <code class="computeroutput">E</code> matches + <code class="computeroutput"> + <a class="link" href="switch_.html" title="Struct template switch_">proto::switch_</a><C, T> + </code> if + <code class="computeroutput">E</code> matches <code class="computeroutput">C::case_<boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>,T>(E)>::type></code>. + Note: <code class="computeroutput">T</code> defaults to <code class="computeroutput"><a class="link" href="tag_of.html" title="Struct template tag_of">proto::tag_of</a><<a class="link" href="_.html" title="Struct _">proto::_</a>>()</code> + </p></li> +</ul></div> +<p> + </p> +<p> + A terminal expression can trivially match the grammar <a class="link" href="_.html" title="Struct _">proto::_</a>. In addition, + a terminal expression + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><AT, + <a class="link" href="term.html" title="Struct template term">proto::term</a><A> > + </code> matches a grammar + <code class="computeroutput"> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><BT, <a class="link" href="term.html" title="Struct template term">proto::term</a><B> > + </code> + if <code class="computeroutput">BT</code> is <code class="computeroutput"><a class="link" href="_.html" title="Struct _">proto::_</a></code> + or <code class="computeroutput">AT</code> and one of the following is true: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">B</code> is the wildcard pattern, + <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">B</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">B &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">B const &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">B</code> is <code class="computeroutput"> + <a class="link" href="exact.html" title="Struct template exact">proto::exact</a><A> + </code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">B</code> is + <code class="computeroutput"> + <a class="link" href="convertible_to.html" title="Struct template convertible_to">proto::convertible_to</a><X> + </code> + and <code class="computeroutput">boost::is_convertible<A,X>::value</code> is + <code class="computeroutput">true</code>. + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">X[M]</code> or + <code class="computeroutput">X(&)[M]</code> and + <code class="computeroutput">B</code> is <code class="computeroutput"> + X[<a class="link" href="N.html" title="Global N">proto::N</a>] + </code>. + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">X(&)[M]</code> + and <code class="computeroutput">B</code> is <code class="computeroutput"> + X(&)[<a class="link" href="N.html" title="Global N">proto::N</a>] + </code>. + </p></li> +<li class="listitem"><p> + <code class="computeroutput">A</code> is <code class="computeroutput">X[M]</code> or + <code class="computeroutput">X(&)[M]</code> and <code class="computeroutput">B</code> is + <code class="computeroutput">X*</code>. + </p></li> +<li class="listitem"><p> + <code class="computeroutput">B</code> <em class="replaceable"><code>lambda-matches</code></em> + <code class="computeroutput">A</code> (see below). + </p></li> +</ul></div> +<p> + </p> +<p> + A type <code class="computeroutput">B</code> <em class="replaceable"><code>lambda-matches</code></em> + <code class="computeroutput">A</code> if one of the following is true: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">B</code> is <code class="computeroutput">A</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">B</code> is the wildcard pattern, <code class="computeroutput"> + <a class="link" href="_.html" title="Struct _">proto::_</a> + </code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">B</code> is <code class="computeroutput"> + T<B<sub>0</sub>,...B<sub>n</sub>> + </code> and <code class="computeroutput">A</code> is <code class="computeroutput"> + T<A<sub>0</sub>,...A<sub>n</sub>> + </code> and for each <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>, + <code class="computeroutput">A<sub>x</sub></code> and + <code class="computeroutput">B<sub>x</sub></code> are types such that + <code class="computeroutput">A<sub>x</sub></code> <em class="replaceable"><code>lambda-matches</code></em> + <code class="computeroutput">B<sub>x</sub></code> + </p></li> +</ul></div> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="vararg.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.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_extension.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/mem_ptr.html b/doc/html/boost/proto/mem_ptr.html new file mode 100755 index 0000000000..e35b4abdff --- /dev/null +++ b/doc/html/boost/proto/mem_ptr.html @@ -0,0 +1,64 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template mem_ptr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="comma/impl.html" title="Struct template impl"> +<link rel="next" href="mem_ptr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="comma/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_ptr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.mem_ptr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template mem_ptr</span></h2> +<p>boost::proto::mem_ptr</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="mem_ptr.html" title="Struct template mem_ptr">mem_ptr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">mem_ptr</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/mem_ptr.html" title="Struct mem_ptr">proto::tag::mem_ptr</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.mem_ptr.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/mem_ptr.html" title="Struct mem_ptr">proto::tag::mem_ptr</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.mem_ptr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="mem_ptr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><mem_ptr>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2832012"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="comma/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_ptr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/mem_ptr/impl.html b/doc/html/boost/proto/mem_ptr/impl.html new file mode 100755 index 0000000000..faaae19ebc --- /dev/null +++ b/doc/html/boost/proto/mem_ptr/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../mem_ptr.html#id2832012" title="Description"> +<link rel="prev" href="../mem_ptr.html" title="Struct template mem_ptr"> +<link rel="next" href="../assign.html" title="Struct template assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../mem_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mem_ptr.html#id2832012"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.mem_ptr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::mem_ptr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><mem_ptr>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../mem_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mem_ptr.html#id2832012"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/minus.html b/doc/html/boost/proto/minus.html new file mode 100755 index 0000000000..26cb2056af --- /dev/null +++ b/doc/html/boost/proto/minus.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template minus</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="plus/impl.html" title="Struct template impl"> +<link rel="next" href="minus/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.minus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template minus</span></h2> +<p>boost::proto::minus — A metafunction for generating binary minus expression types, + a grammar element for matching binary minus expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="minus.html" title="Struct template minus">minus</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">minus</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/minus.html" title="Struct minus">proto::tag::minus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.minus.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/minus.html" title="Struct minus">proto::tag::minus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.minus.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="minus/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><minus>::template impl<Expr, State, Data> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2824330"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/minus/impl.html b/doc/html/boost/proto/minus/impl.html new file mode 100755 index 0000000000..196d384dfd --- /dev/null +++ b/doc/html/boost/proto/minus/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../minus.html#id2824330" title="Description"> +<link rel="prev" href="../minus.html" title="Struct template minus"> +<link rel="next" href="../less.html" title="Struct template less"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../minus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../minus.html#id2824330"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.minus.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::minus::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><minus>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../minus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../minus.html#id2824330"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/minus_assign.html b/doc/html/boost/proto/minus_assign.html new file mode 100755 index 0000000000..c251694ff0 --- /dev/null +++ b/doc/html/boost/proto/minus_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template minus_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="plus_assign/impl.html" title="Struct template impl"> +<link rel="next" href="minus_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.minus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template minus_assign</span></h2> +<p>boost::proto::minus_assign — A metafunction for generating minus-assign expression types, + a grammar element for matching minus-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="minus_assign.html" title="Struct template minus_assign">minus_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">minus_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/minus_assign.html" title="Struct minus_assign">proto::tag::minus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.minus_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/minus_assign.html" title="Struct minus_assign">proto::tag::minus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.minus_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="minus_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><minus_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2836667"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/minus_assign/impl.html b/doc/html/boost/proto/minus_assign/impl.html new file mode 100755 index 0000000000..91fb3b650a --- /dev/null +++ b/doc/html/boost/proto/minus_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../minus_assign.html#id2836667" title="Description"> +<link rel="prev" href="../minus_assign.html" title="Struct template minus_assign"> +<link rel="next" href="../bitwise_and_assign.html" title="Struct template bitwise_and_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../minus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../minus_assign.html#id2836667"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_and_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.minus_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::minus_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><minus_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../minus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../minus_assign.html#id2836667"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bitwise_and_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/modulus.html b/doc/html/boost/proto/modulus.html new file mode 100755 index 0000000000..a7cb05cfc2 --- /dev/null +++ b/doc/html/boost/proto/modulus.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template modulus</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="divides/impl.html" title="Struct template impl"> +<link rel="next" href="modulus/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.modulus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template modulus</span></h2> +<p>boost::proto::modulus — A metafunction for generating modulus expression types, + a grammar element for matching modulus expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="modulus.html" title="Struct template modulus">modulus</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">modulus</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/modulus.html" title="Struct modulus">proto::tag::modulus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.modulus.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/modulus.html" title="Struct modulus">proto::tag::modulus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.modulus.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="modulus/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><modulus>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2823189"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/modulus/impl.html b/doc/html/boost/proto/modulus/impl.html new file mode 100755 index 0000000000..389ccc18bb --- /dev/null +++ b/doc/html/boost/proto/modulus/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../modulus.html#id2823189" title="Description"> +<link rel="prev" href="../modulus.html" title="Struct template modulus"> +<link rel="next" href="../plus.html" title="Struct template plus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../modulus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html#id2823189"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.modulus.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::modulus::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><modulus>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../modulus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus.html#id2823189"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/modulus_assign.html b/doc/html/boost/proto/modulus_assign.html new file mode 100755 index 0000000000..95e3c59eb5 --- /dev/null +++ b/doc/html/boost/proto/modulus_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template modulus_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="divides_assign/impl.html" title="Struct template impl"> +<link rel="next" href="modulus_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.modulus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template modulus_assign</span></h2> +<p>boost::proto::modulus_assign — A metafunction for generating modulus-assign expression types, + a grammar element for matching modulus-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="modulus_assign.html" title="Struct template modulus_assign">modulus_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">modulus_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/modulus_assign.html" title="Struct modulus_assign">proto::tag::modulus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.modulus_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/modulus_assign.html" title="Struct modulus_assign">proto::tag::modulus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.modulus_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="modulus_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><modulus_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2835521"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/modulus_assign/impl.html b/doc/html/boost/proto/modulus_assign/impl.html new file mode 100755 index 0000000000..a65cd701b1 --- /dev/null +++ b/doc/html/boost/proto/modulus_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../modulus_assign.html#id2835521" title="Description"> +<link rel="prev" href="../modulus_assign.html" title="Struct template modulus_assign"> +<link rel="next" href="../plus_assign.html" title="Struct template plus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../modulus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus_assign.html#id2835521"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../plus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.modulus_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::modulus_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><modulus_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../modulus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modulus_assign.html#id2835521"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../plus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/multiplies.html b/doc/html/boost/proto/multiplies.html new file mode 100755 index 0000000000..32609a7404 --- /dev/null +++ b/doc/html/boost/proto/multiplies.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template multiplies</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="shift_right/impl.html" title="Struct template impl"> +<link rel="next" href="multiplies/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.multiplies"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template multiplies</span></h2> +<p>boost::proto::multiplies — A metafunction for generating multiplies expression types, + a grammar element for matching multiplies expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="multiplies.html" title="Struct template multiplies">multiplies</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">multiplies</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/multiplies.html" title="Struct multiplies">proto::tag::multiplies</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.multiplies.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/multiplies.html" title="Struct multiplies">proto::tag::multiplies</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.multiplies.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="multiplies/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><multiplies>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2822044"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/multiplies/impl.html b/doc/html/boost/proto/multiplies/impl.html new file mode 100755 index 0000000000..40a64578c3 --- /dev/null +++ b/doc/html/boost/proto/multiplies/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../multiplies.html#id2822044" title="Description"> +<link rel="prev" href="../multiplies.html" title="Struct template multiplies"> +<link rel="next" href="../divides.html" title="Struct template divides"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../multiplies.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../multiplies.html#id2822044"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../divides.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.multiplies.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::multiplies::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><multiplies>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../multiplies.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../multiplies.html#id2822044"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../divides.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/multiplies_assign.html b/doc/html/boost/proto/multiplies_assign.html new file mode 100755 index 0000000000..282dfbae5b --- /dev/null +++ b/doc/html/boost/proto/multiplies_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template multiplies_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="shift_right_assign/impl.html" title="Struct template impl"> +<link rel="next" href="multiplies_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.multiplies_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template multiplies_assign</span></h2> +<p>boost::proto::multiplies_assign — A metafunction for generating multiplies-assign expression types, + a grammar element for matching multiplies-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="multiplies_assign.html" title="Struct template multiplies_assign">multiplies_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">multiplies_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/multiplies_assign.html" title="Struct multiplies_assign">proto::tag::multiplies_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.multiplies_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/multiplies_assign.html" title="Struct multiplies_assign">proto::tag::multiplies_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.multiplies_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="multiplies_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><multiplies_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2834373"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/multiplies_assign/impl.html b/doc/html/boost/proto/multiplies_assign/impl.html new file mode 100755 index 0000000000..2a50919174 --- /dev/null +++ b/doc/html/boost/proto/multiplies_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../multiplies_assign.html#id2834373" title="Description"> +<link rel="prev" href="../multiplies_assign.html" title="Struct template multiplies_assign"> +<link rel="next" href="../divides_assign.html" title="Struct template divides_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../multiplies_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../multiplies_assign.html#id2834373"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../divides_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.multiplies_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::multiplies_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><multiplies_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../multiplies_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../multiplies_assign.html#id2834373"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../divides_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/nary_expr.html b/doc/html/boost/proto/nary_expr.html new file mode 100755 index 0000000000..0ef379a1d1 --- /dev/null +++ b/doc/html/boost/proto/nary_expr.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template nary_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="binary_expr/impl.html" title="Struct template impl"> +<link rel="next" href="nary_expr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="binary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.nary_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template nary_expr</span></h2> +<p>boost::proto::nary_expr — A metafunction for generating n-ary expression types with a specified tag type, + a grammar element for matching n-ary expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> + that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="nary_expr.html" title="Struct template nary_expr">nary_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">nary_expr</span><span class="special"><</span><span class="identifier">Tag</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="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span> <span class="identifier">A</span><span class="special">...</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.nary_expr.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span> <span class="identifier">A</span><span class="special">...</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.nary_expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="nary_expr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><nary_expr>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2842556"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::nary_expr<<a class="link" href="_.html" title="Struct _">proto::_</a>, <a class="link" href="vararg.html" title="Struct template vararg">proto::vararg</a><<a class="link" href="_.html" title="Struct _">proto::_</a>> ></code> + as a grammar element to match any n-ary expression; that is, any non-terminal. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="binary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/nary_expr/impl.html b/doc/html/boost/proto/nary_expr/impl.html new file mode 100755 index 0000000000..97035dff36 --- /dev/null +++ b/doc/html/boost/proto/nary_expr/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../nary_expr.html#id2842556" title="Description"> +<link rel="prev" href="../nary_expr.html" title="Struct template nary_expr"> +<link rel="next" href="../is_expr.html" title="Struct template is_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../nary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nary_expr.html#id2842556"><img src="../../../../../doc/src/images/up.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_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.nary_expr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::nary_expr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><nary_expr>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../nary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nary_expr.html#id2842556"><img src="../../../../../doc/src/images/up.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_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/negate.html b/doc/html/boost/proto/negate.html new file mode 100755 index 0000000000..34f298c8fe --- /dev/null +++ b/doc/html/boost/proto/negate.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template negate</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="unary_plus/impl.html" title="Struct template impl"> +<link rel="next" href="negate/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_plus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negate/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.negate"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template negate</span></h2> +<p>boost::proto::negate — A metafunction for generating unary minus expression types, + a grammar element for matching unary minus expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="negate.html" title="Struct template negate">negate</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">negate</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/negate.html" title="Struct negate">proto::tag::negate</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.negate.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/negate.html" title="Struct negate">proto::tag::negate</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.negate.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="negate/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><negate>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2816070"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_plus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negate/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/negate/impl.html b/doc/html/boost/proto/negate/impl.html new file mode 100755 index 0000000000..c5de80e02f --- /dev/null +++ b/doc/html/boost/proto/negate/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../negate.html#id2816070" title="Description"> +<link rel="prev" href="../negate.html" title="Struct template negate"> +<link rel="next" href="../dereference.html" title="Struct template dereference"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../negate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../negate.html#id2816070"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dereference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.negate.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::negate::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><negate>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../negate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../negate.html#id2816070"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dereference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/noinvoke.html b/doc/html/boost/proto/noinvoke.html new file mode 100755 index 0000000000..2ceee548ac --- /dev/null +++ b/doc/html/boost/proto/noinvoke.html @@ -0,0 +1,98 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template noinvoke</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>"> +<link rel="prev" href="lazy/impl.html" title="Struct template impl"> +<link rel="next" href="protect.html" title="Struct template protect"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="lazy/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protect.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.noinvoke"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template noinvoke</span></h2> +<p>boost::proto::noinvoke — A type annotation in an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> which instructs + Proto not to look for a nested <code class="computeroutput">::type</code> within + <code class="computeroutput">T</code> after type substitution.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>">boost/proto/transform/make.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="noinvoke.html" title="Struct template noinvoke">noinvoke</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2875634"></a><h2>Description</h2> +<p> + <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>s are evaluated by + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code>, + which finds all nested transforms and replaces them with the result of their applications. + If any substitutions are performed, the result is first assumed to be a metafunction to be applied; + that is, Proto checks to see if the result has a nested <code class="computeroutput">::type</code> + typedef. If it does, that becomes the result. The purpose of <code class="computeroutput">proto::noinvoke<></code> + is to prevent Proto from looking for a nested <code class="computeroutput">::type</code> typedef + in these situations. + </p> +<p> + Example: + </p> +<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Test</span> + <span class="special">:</span> <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span> + <a class="link" href="_.html" title="Struct _">_</a> + <span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">noinvoke</span><span class="special"><</span> + <span class="comment">// This remove_pointer invocation is bloked by noinvoke</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_pointer</span><span class="special"><</span> + <span class="comment">// This add_pointer invocation is *not* blocked by noinvoke</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_pointer</span><span class="special"><</span><a class="link" href="_.html" title="Struct _">_</a><span class="special">></span> + <span class="special">></span> + <span class="special">></span><span class="special">(</span><span class="special">)</span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="keyword">void</span> <span class="identifier">test_noinvoke</span><span class="special">(</span><span class="special">)</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">Int</span><span class="special">;</span> + + <span class="identifier">BOOST_MPL_ASSERT</span><span class="special">(</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">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">Test</span><span class="special">(</span><span class="identifier">Int</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_pointer</span><span class="special"><</span><span class="identifier">Int</span> <span class="special">*</span><span class="special">></span> + <span class="special">></span> + <span class="special">)</span><span class="special">)</span><span class="special">;</span> + + <span class="identifier">Int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">42</span><span class="special">}</span><span class="special">;</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_pointer</span><span class="special"><</span><span class="identifier">Int</span> <span class="special">*</span><span class="special">></span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">Test</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="lazy/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protect.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/not_.html b/doc/html/boost/proto/not_.html new file mode 100755 index 0000000000..3bed42579f --- /dev/null +++ b/doc/html/boost/proto/not_.html @@ -0,0 +1,76 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template not_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="_/impl.html" title="Struct template impl"> +<link rel="next" href="not_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.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_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.not_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template not_</span></h2> +<p>boost::proto::not_ — Inverts the set of expressions matched by a grammar. When used as a transform, + <code class="computeroutput">proto::not_<></code> returns the current expression unchanged. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="not_.html" title="Struct template not_">not_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><not_<Grammar> > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">not_</span> <a name="boost.proto.not_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="not_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="not_/impl.html#boost.proto.not_.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="not_/impl.html#id1504797-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="not_/impl.html#id1504802-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2759128"></a><h2>Description</h2> +<p> + If an expression type <code class="computeroutput">E</code> does not match a grammar + <code class="computeroutput">G</code>, then <code class="computeroutput">E</code> <span class="emphasis"><em>does</em></span> + match <code class="computeroutput">proto::not_<G></code>. For example, + <code class="computeroutput"><a class="link" href="not_.html" title="Struct template not_">proto::not_</a><<a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><<a class="link" href="_.html" title="Struct _">proto::_</a>> ></code> + will match any non-terminal. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.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_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/not_/impl.html b/doc/html/boost/proto/not_/impl.html new file mode 100755 index 0000000000..de165e619a --- /dev/null +++ b/doc/html/boost/proto/not_/impl.html @@ -0,0 +1,97 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../not_.html#id2759128" title="Description"> +<link rel="prev" href="../not_.html" title="Struct template not_"> +<link rel="next" href="../if_.html" title="Struct template 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="../not_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../not_.html#id2759128"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../if_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.not_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::not_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto.not_.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1504797-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="impl.html#id1504802-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2759470"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2759474"></a><h3> +<a name="id1504797-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Expr</span> <a name="id1504802-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>An expression </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, proto::not_>::value</code> + is <code class="computeroutput">true</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">expr</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../not_.html#id2759128"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../if_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/not_equal_to.html b/doc/html/boost/proto/not_equal_to.html new file mode 100755 index 0000000000..f60522079e --- /dev/null +++ b/doc/html/boost/proto/not_equal_to.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template not_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="equal_to/impl.html" title="Struct template impl"> +<link rel="next" href="not_equal_to/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_to/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.not_equal_to"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template not_equal_to</span></h2> +<p>boost::proto::not_equal_to — A metafunction for generating not-equal-to expression types, + a grammar element for matching not-equal-to expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="not_equal_to.html" title="Struct template not_equal_to">not_equal_to</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">not_equal_to</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/not_equal_to.html" title="Struct not_equal_to">proto::tag::not_equal_to</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.not_equal_to.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/not_equal_to.html" title="Struct not_equal_to">proto::tag::not_equal_to</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.not_equal_to.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="not_equal_to/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><mot_equal_to>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2827761"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.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_to/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/not_equal_to/impl.html b/doc/html/boost/proto/not_equal_to/impl.html new file mode 100755 index 0000000000..a29e104b2c --- /dev/null +++ b/doc/html/boost/proto/not_equal_to/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../not_equal_to.html#id2827761" title="Description"> +<link rel="prev" href="../not_equal_to.html" title="Struct template not_equal_to"> +<link rel="next" href="../logical_or.html" title="Struct template logical_or"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../not_equal_to.html#id2827761"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.not_equal_to.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::not_equal_to::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><mot_equal_to>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../not_equal_to.html#id2827761"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../logical_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/nullary_expr.html b/doc/html/boost/proto/nullary_expr.html new file mode 100755 index 0000000000..048db2fe74 --- /dev/null +++ b/doc/html/boost/proto/nullary_expr.html @@ -0,0 +1,74 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template nullary_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="function/impl.html" title="Struct template impl"> +<link rel="next" href="nullary_expr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="function/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nullary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.nullary_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template nullary_expr</span></h2> +<p>boost::proto::nullary_expr — A metafunction for generating nullary expression types, a grammar element for matching + nullary expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the current expression unchanged. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="nullary_expr.html" title="Struct template nullary_expr">nullary_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">nullary_expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.nullary_expr.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.nullary_expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="nullary_expr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="nullary_expr/impl.html#boost.proto.nullary_expr.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="nullary_expr/impl.html#id1525640-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="nullary_expr/impl.html#id1525645-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2840370"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::nullary_expr<<a class="link" href="_.html" title="Struct _">proto::_</a>, <a class="link" href="_.html" title="Struct _">proto::_</a>></code> + as a grammar element to match any nullary expression. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="function/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nullary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/nullary_expr/impl.html b/doc/html/boost/proto/nullary_expr/impl.html new file mode 100755 index 0000000000..b878f7763d --- /dev/null +++ b/doc/html/boost/proto/nullary_expr/impl.html @@ -0,0 +1,100 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../nullary_expr.html#id2840370" title="Description"> +<link rel="prev" href="../nullary_expr.html" title="Struct template nullary_expr"> +<link rel="next" href="../unary_expr.html" title="Struct template unary_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../nullary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nullary_expr.html#id2840370"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.nullary_expr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::nullary_expr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto.nullary_expr.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1525640-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="impl.html#id1525645-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2840713"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2840717"></a><h3> +<a name="id1525640-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Expr</span> <a name="id1525645-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, proto::nullary_expr<Tag, T> >::value</code> is <code class="computeroutput">true</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">expr</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../nullary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nullary_expr.html#id2840370"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../unary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/or_.html b/doc/html/boost/proto/or_.html new file mode 100755 index 0000000000..91527235ac --- /dev/null +++ b/doc/html/boost/proto/or_.html @@ -0,0 +1,91 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template or_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="if_/impl.html" title="Struct template impl"> +<link rel="next" href="or_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="or_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.or_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template or_</span></h2> +<p>boost::proto::or_ — For matching one of a set of alternate grammars. Alternates are tried in order to avoid ambiguity. + When used as a transform, <code class="computeroutput">proto::or_<></code> applies the transform + associated with the first grammar that matches the expression.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> G<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="or_.html" title="Struct template or_">or_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><or_<G...> > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">or_</span> <a name="boost.proto.or_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="or_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a class="link" href="or_/impl.html#boost.proto.or_.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="or_/impl.html#id1505563-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="or_/impl.html#id1505568-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2762687"></a><h2>Description</h2> +<p> + An expression type <code class="computeroutput">E</code> matches + <code class="computeroutput">proto::or_<G<sub>0</sub>,G<sub>1</sub>,...G<sub>n</sub>></code> + if <code class="computeroutput">E</code> matches any <code class="computeroutput">G<sub>x</sub></code> for + <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>. + </p> +<p> + When applying + <code class="computeroutput">proto::or_<G<sub>0</sub>,G<sub>1</sub>,...G<sub>n</sub>></code> + as a transform with an expression <code class="computeroutput">e</code> of type <code class="computeroutput">E</code>, + state <code class="computeroutput">s</code> and data <code class="computeroutput">d</code>, it is equivalent to + <code class="computeroutput">G<sub>x</sub>()(e, s, d)</code>, where + <code class="computeroutput">x</code> is the lowest number such that + <code class="computeroutput"><a class="link" href="matches.html" title="Struct template matches">proto::matches</a><E, G<sub>x</sub>>::value</code> + is <code class="computeroutput">true</code>. + </p> +<p> + The maximun number of template arguments <code class="computeroutput">proto::or_<></code> accepts + is controlled by the <code class="computeroutput"><a class="link" href="../../BOOST_PROTO_MAX_LOGICAL_ARITY.html" title="Macro BOOST_PROTO_MAX_LOGICAL_ARITY">BOOST_PROTO_MAX_LOGICAL_ARITY</a></code> + macro. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="or_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/or_/impl.html b/doc/html/boost/proto/or_/impl.html new file mode 100755 index 0000000000..6cc5904554 --- /dev/null +++ b/doc/html/boost/proto/or_/impl.html @@ -0,0 +1,109 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../or_.html#id2762687" title="Description"> +<link rel="prev" href="../or_.html" title="Struct template or_"> +<link rel="next" href="../and_.html" title="Struct template and_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../or_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../or_.html#id2762687"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../and_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.or_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::or_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <a name="boost.proto.or_.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1505563-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1505568-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2763129"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2763132"></a><h3> +<a name="id1505563-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1505568-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>A data of arbitrary type </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>An expression </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput"> + G<sub>x</sub>()(expr, state, data) + </code>, where + <code class="computeroutput">x</code> is the lowest number such that + <code class="computeroutput"> + <a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, G<sub>x</sub>>::value + </code> + is <code class="computeroutput">true</code>. + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../or_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../or_.html#id2762687"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../and_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/otherwise.html b/doc/html/boost/proto/otherwise.html new file mode 100755 index 0000000000..6a4862b5f1 --- /dev/null +++ b/doc/html/boost/proto/otherwise.html @@ -0,0 +1,74 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template otherwise</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="when_Grammar__id1536082/impl.html" title="Struct template impl"> +<link rel="next" href="external_transform.html" title="Struct external_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="when_Grammar__id1536082/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transform.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.otherwise"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template otherwise</span></h2> +<p>boost::proto::otherwise — + Syntactic sugar for <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="_.html" title="Struct _">proto::_</a>, Fun ></code>, + for use in grammars to handle all the cases not yet handled. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="otherwise.html" title="Struct template otherwise">otherwise</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="_.html" title="Struct _">proto::_</a>, Fun > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2886251"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::otherwise<T></code> in your grammars as a synonym for + <code class="computeroutput"><a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="_.html" title="Struct _">proto::_</a>, Fun ></code> + as in the following transform which counts the number of terminals in an expression. + </p> +<p> + </p> +<pre class="programlisting"><span class="comment">// Count the terminals in an expression tree.</span> +<span class="comment">// Must be invoked with initial state == mpl::int_<0>().</span> +<span class="keyword">struct</span> <span class="identifier">CountLeaves</span> <span class="special">:</span> + <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">when</span><span class="special"><</span><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">next</span><span class="special"><</span><a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">></span><span class="special">,</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">otherwise</span><span class="special"><</span><a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">,</span> <span class="identifier">CountLeaves</span><span class="special">></span> <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when_Grammar__id1536082/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="external_transform.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pass_through.html b/doc/html/boost/proto/pass_through.html new file mode 100755 index 0000000000..47081e9894 --- /dev/null +++ b/doc/html/boost/proto/pass_through.html @@ -0,0 +1,134 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template pass_through</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.pass_through_hpp" title="Header <boost/proto/transform/pass_through.hpp>"> +<link rel="prev" href="make/impl.html" title="Struct template impl"> +<link rel="next" href="pass_through/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.pass_through_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pass_through/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pass_through"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template pass_through</span></h2> +<p>boost::proto::pass_through — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that transforms the child expressions of an expression + node according to the corresponding children of a Grammar.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.pass_through_hpp" title="Header <boost/proto/transform/pass_through.hpp>">boost/proto/transform/pass_through.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="pass_through.html" title="Struct template pass_through">pass_through</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a>< pass_through<Grammar> > <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pass_through/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.GN"><span class="identifier">GN</span></a><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.EN"><span class="identifier">EN</span></a><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">GN</span><span class="special">(</span><span class="identifier">EN</span><span class="special">,</span><span class="identifier">State</span><span class="special">,</span><span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.RN"><span class="identifier">RN</span></a><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.T"><span class="identifier">T</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_domain</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.D"><span class="identifier">D</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">::</span><span class="identifier">proto_generator</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.G"><span class="identifier">G</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span><span class="identifier">R0</span><span class="special">,</span><span class="special">...</span><span class="identifier">RN</span><span class="special">></span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.A"><span class="identifier">A</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.E"><span class="identifier">E</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.BE"><span class="identifier">BE</span></a><span class="special">;</span> <span class="comment">// For exposition only</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><a class="link" href="wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a><span class="special"><</span><span class="identifier">G</span><span class="special">></span><span class="special">,</span> <span class="identifier">BE</span><span class="special">,</span> <span class="identifier">E</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.expr_type"><span class="identifier">expr_type</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">D</span><span class="special">(</span><span class="identifier">expr_type</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="pass_through/impl.html#boost.proto.pass_through.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="pass_through/impl.html#id1535345-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="pass_through/impl.html#id1535350-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2880148"></a><h2>Description</h2> +<p> + Given a Grammar such as <code class="computeroutput"><a class="link" href="plus.html" title="Struct template plus">proto::plus</a><T0, T1></code>, + an expression type that matches the grammar such as + <code class="computeroutput"><a class="link" href="plus.html" title="Struct template plus">proto::plus</a><E0, E1>::type</code>, a state + <code class="computeroutput">S</code> and a data <code class="computeroutput">D</code>, the result of applying + the <code class="computeroutput">proto::pass_through<<a class="link" href="plus.html" title="Struct template plus">proto::plus</a><T0, T1> ></code> + transform is: </p> +<pre class="programlisting"><a class="link" href="plus.html" title="Struct template plus">proto::plus</a><span class="special"><</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">T0</span><span class="special">(</span><span class="identifier">E0</span><span class="special">,</span> <span class="identifier">S</span><span class="special">,</span> <span class="identifier">D</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">T1</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span> <span class="identifier">S</span><span class="special">,</span> <span class="identifier">D</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> +<span class="special">></span><span class="special">::</span><span class="identifier">type</span></pre> +<p> + </p> +<p> + The above demonstrates how child transforms and child expressions are applied pairwise, and how the + results are reassembled into a new expression node with the same tag type as the original. + </p> +<p> + The explicit use of <code class="computeroutput">proto::pass_through<></code> is not usually + needed, since the expression generator metafunctions such as + <code class="computeroutput"><a class="link" href="plus.html" title="Struct template plus">proto::plus</a><></code> have + <code class="computeroutput">proto::pass_through<></code> as their default transform. So, + for instance, these are equivalent: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><code class="computeroutput"> + <a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y>, proto::pass_through< <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y> > > + </code></li> +<li class="listitem"><code class="computeroutput"> + <a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y>, <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y> > + </code></li> +<li class="listitem"><code class="computeroutput"> + <a class="link" href="when.html" title="Struct template when">proto::when</a>< <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y> > // because of proto::when<class X, class Y=X> + </code></li> +<li class="listitem"><code class="computeroutput"> + <a class="link" href="plus.html" title="Struct template plus">proto::plus</a><X, Y> // because plus<> is both a grammar and a transform + </code></li> +</ul></div> +<p> + </p> +<p> + For example, consider the following transform that promotes all + <code class="computeroutput">float</code> terminals in an expression to + <code class="computeroutput">double</code>. + </p> +<pre class="programlisting"><span class="comment">// This transform finds all float terminals in an expression and promotes</span> +<span class="comment">// them to doubles.</span> +<span class="keyword">struct</span> <span class="identifier">Promote</span> <span class="special">:</span> + <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="keyword">float</span><span class="special">></span><span class="special">,</span> <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><span class="keyword">double</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">(</span><a class="link" href="_value.html" title="Struct _value">proto::_value</a><span class="special">)</span> <span class="special">></span><span class="special">,</span> + <span class="comment">// terminal<>'s default transform is a no-op:</span> + <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> + <span class="comment">// nary_expr<> has a pass_through<> transform:</span> + <a class="link" href="nary_expr.html" title="Struct template nary_expr">proto::nary_expr</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <a class="link" href="vararg.html" title="Struct template vararg">proto::vararg</a><span class="special"><</span><span class="identifier">Promote</span><span class="special">></span> <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.pass_through_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pass_through/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pass_through/impl.html b/doc/html/boost/proto/pass_through/impl.html new file mode 100755 index 0000000000..a78afb137b --- /dev/null +++ b/doc/html/boost/proto/pass_through/impl.html @@ -0,0 +1,108 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pass_through.html#id2880148" title="Description"> +<link rel="prev" href="../pass_through.html" title="Struct template pass_through"> +<link rel="next" href="../when.html" title="Struct template when"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pass_through.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pass_through.html#id2880148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../when.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pass_through.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::pass_through::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.pass_through_hpp" title="Header <boost/proto/transform/pass_through.hpp>">boost/proto/transform/pass_through.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><Expr, State, Data> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.pass_through.impl.GN"></a><span class="identifier">GN</span><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">N</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.pass_through.impl.EN"></a><span class="identifier">EN</span><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">GN</span><span class="special">(</span><span class="identifier">EN</span><span class="special">,</span><span class="identifier">State</span><span class="special">,</span><span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.pass_through.impl.RN"></a><span class="identifier">RN</span><span class="special">;</span> <span class="comment">// For each N in [0,Expr arity), for exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span> <a name="boost.proto.pass_through.impl.T"></a><span class="identifier">T</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_domain</span> <a name="boost.proto.pass_through.impl.D"></a><span class="identifier">D</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">::</span><span class="identifier">proto_generator</span> <a name="boost.proto.pass_through.impl.G"></a><span class="identifier">G</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="../listN.html" title="Struct template listN">proto::listN</a><span class="special"><</span><span class="identifier">R0</span><span class="special">,</span><span class="special">...</span><span class="identifier">RN</span><span class="special">></span> <a name="boost.proto.pass_through.impl.A"></a><span class="identifier">A</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="../expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <a name="boost.proto.pass_through.impl.E"></a><span class="identifier">E</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="../basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">A</span><span class="special">></span> <a name="boost.proto.pass_through.impl.BE"></a><span class="identifier">BE</span><span class="special">;</span> <span class="comment">// For exposition only</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><a class="link" href="../wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a><span class="special"><</span><span class="identifier">G</span><span class="special">></span><span class="special">,</span> <span class="identifier">BE</span><span class="special">,</span> <span class="identifier">E</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.pass_through.impl.expr_type"></a><span class="identifier">expr_type</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">D</span><span class="special">(</span><span class="identifier">expr_type</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.pass_through.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1535345-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1535350-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2881809"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2881812"></a><h3> +<a name="id1535345-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1535350-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput"> + <a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, Grammar>::value + </code> is <code class="computeroutput">true</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td> +<p> + </p> +<pre class="programlisting"><span class="identifier">D</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">expr_type</span><span class="special">::</span><span class="identifier">make</span><span class="special">(</span> + <span class="identifier">G0</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="number">0</span><span class="special">></span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">state</span><span class="special">,</span> <span class="identifier">data</span><span class="special">)</span><span class="special">,</span> + <span class="special">...</span> + <span class="identifier">GN</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><a class="link" href="../child_c_id1528008.html" title="Function child_c">proto::child_c</a><span class="special"><</span><span class="identifier">N</span><span class="special">></span><span class="special">(</span><span class="identifier">expr</span><span class="special">)</span><span class="special">,</span> <span class="identifier">state</span><span class="special">,</span> <span class="identifier">data</span><span class="special">)</span> +<span class="special">)</span><span class="special">)</span></pre> +<p> + </p> +</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pass_through.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pass_through.html#id2880148"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../when.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/plus.html b/doc/html/boost/proto/plus.html new file mode 100755 index 0000000000..2a5a7c312c --- /dev/null +++ b/doc/html/boost/proto/plus.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template plus</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="modulus/impl.html" title="Struct template impl"> +<link rel="next" href="plus/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.plus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template plus</span></h2> +<p>boost::proto::plus — A metafunction for generating binary plus expression types, + a grammar element for matching binary plus expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="plus.html" title="Struct template plus">plus</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">plus</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/plus.html" title="Struct plus">proto::tag::plus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.plus.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/plus.html" title="Struct plus">proto::tag::plus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.plus.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="plus/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><plus>::template impl<Expr, State, Data> <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2823759"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/plus/impl.html b/doc/html/boost/proto/plus/impl.html new file mode 100755 index 0000000000..b7136ce464 --- /dev/null +++ b/doc/html/boost/proto/plus/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../plus.html#id2823759" title="Description"> +<link rel="prev" href="../plus.html" title="Struct template plus"> +<link rel="next" href="../minus.html" title="Struct template minus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../plus.html#id2823759"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../minus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.plus.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::plus::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><plus>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../plus.html#id2823759"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../minus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/plus_assign.html b/doc/html/boost/proto/plus_assign.html new file mode 100755 index 0000000000..aad4ad24c2 --- /dev/null +++ b/doc/html/boost/proto/plus_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template plus_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="modulus_assign/impl.html" title="Struct template impl"> +<link rel="next" href="plus_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.plus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template plus_assign</span></h2> +<p>boost::proto::plus_assign — A metafunction for generating plus-assign expression types, + a grammar element for matching plus-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="plus_assign.html" title="Struct template plus_assign">plus_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">plus_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/plus_assign.html" title="Struct plus_assign">proto::tag::plus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.plus_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/plus_assign.html" title="Struct plus_assign">proto::tag::plus_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.plus_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="plus_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><plus_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2836094"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/plus_assign/impl.html b/doc/html/boost/proto/plus_assign/impl.html new file mode 100755 index 0000000000..64a8151ff1 --- /dev/null +++ b/doc/html/boost/proto/plus_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../plus_assign.html#id2836094" title="Description"> +<link rel="prev" href="../plus_assign.html" title="Struct template plus_assign"> +<link rel="next" href="../minus_assign.html" title="Struct template minus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../plus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../plus_assign.html#id2836094"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../minus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.plus_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::plus_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><plus_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../plus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../plus_assign.html#id2836094"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../minus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pod_generator.html b/doc/html/boost/proto/pod_generator.html new file mode 100755 index 0000000000..2a50ab57b4 --- /dev/null +++ b/doc/html/boost/proto/pod_generator.html @@ -0,0 +1,99 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template pod_generator</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="generator/result_This_Expr__id1501378.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="pod_generator/result_This_Expr__id1501531.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="generator/result_This_Expr__id1501378.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pod_generator/result_This_Expr__id1501531.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pod_generator"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template pod_generator</span></h2> +<p>boost::proto::pod_generator — A generator that wraps expressions passed to it in the specified extension wrapper and uses aggregate initialization for the wrapper. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">typename</span> <span class="special">></span> <span class="keyword">class</span> Extends<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="pod_generator.html" title="Struct template pod_generator">pod_generator</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="callable.html" title="Struct callable">proto::callable</a> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pod_generator/result_This_Expr__id1501531.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a class="link" href="pod_generator/result_This_Expr__id1501531.html#boost.proto.pod_generator.result_This(Expr)_id1501531.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="pod_generator.html#id1501566-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a class="link" href="pod_generator.html#id1501571-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2746545"></a><h2>Description</h2> +<p> + Generators are intended for use as the first template parameter to the + <code class="computeroutput"><a class="link" href="domain.html" title="Struct template domain">proto::domain<></a></code> + class template and control if and how expressions within that domain are to be customized. + <code class="computeroutput">proto::pod_generator<></code> wraps each expression passed + to it in the <code class="computeroutput">Extends<></code> wrapper, and uses aggregate + initialzation for the wrapped object. + </p> +<div class="refsect2"> +<a name="id2746582"></a><h3> +<a name="id1501566-bb"></a><code class="computeroutput">pod_generator</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a name="id1501571-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>A Proto expression</p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">Extends<Expr> that = {expr}; return that;</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="generator/result_This_Expr__id1501378.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pod_generator/result_This_Expr__id1501531.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pod_generator/result_This_Expr__id1501531.html b/doc/html/boost/proto/pod_generator/result_This_Expr__id1501531.html new file mode 100755 index 0000000000..55b5afcf9b --- /dev/null +++ b/doc/html/boost/proto/pod_generator/result_This_Expr__id1501531.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pod_generator.html#id2746545" title="Description"> +<link rel="prev" href="../pod_generator.html" title="Struct template pod_generator"> +<link rel="next" href="../by_value_generator.html" title="Struct by_value_generator"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pod_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pod_generator.html#id2746545"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../by_value_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pod_generator.result_This(Expr)_id1501531"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::pod_generator::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1501531.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Extends</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span> <a name="boost.proto.pod_generator.result_This(Expr)_id1501531.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pod_generator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pod_generator.html#id2746545"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../by_value_generator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/post_dec.html b/doc/html/boost/proto/post_dec.html new file mode 100755 index 0000000000..317bc17d51 --- /dev/null +++ b/doc/html/boost/proto/post_dec.html @@ -0,0 +1,70 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template post_dec</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="post_inc/impl.html" title="Struct template impl"> +<link rel="next" href="post_dec/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_inc/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_dec/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.post_dec"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template post_dec</span></h2> +<p>boost::proto::post_dec — A metafunction for generating post-decrement expression types, + a grammar element for matching post-decrement expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="post_dec.html" title="Struct template post_dec">post_dec</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">post_dec</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/post_dec.html" title="Struct post_dec">proto::tag::post_dec</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.post_dec.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> + <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/post_dec.html" title="Struct post_dec">proto::tag::post_dec</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> + <a name="boost.proto.post_dec.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="post_dec/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><post_dec>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2820326"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_inc/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_dec/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/post_dec/impl.html b/doc/html/boost/proto/post_dec/impl.html new file mode 100755 index 0000000000..98e5100fc1 --- /dev/null +++ b/doc/html/boost/proto/post_dec/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../post_dec.html#id2820326" title="Description"> +<link rel="prev" href="../post_dec.html" title="Struct template post_dec"> +<link rel="next" href="../shift_left.html" title="Struct template shift_left"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../post_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../post_dec.html#id2820326"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.post_dec.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::post_dec::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><post_dec>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../post_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../post_dec.html#id2820326"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/post_inc.html b/doc/html/boost/proto/post_inc.html new file mode 100755 index 0000000000..d2db899c1b --- /dev/null +++ b/doc/html/boost/proto/post_inc.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template post_inc</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="pre_dec/impl.html" title="Struct template impl"> +<link rel="next" href="post_inc/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_dec/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_inc/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.post_inc"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template post_inc</span></h2> +<p>boost::proto::post_inc — A metafunction for generating post-increment expression types, + a grammar element for matching post-increment expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="post_inc.html" title="Struct template post_inc">post_inc</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">post_inc</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/post_inc.html" title="Struct post_inc">proto::tag::post_inc</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.post_inc.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/post_inc.html" title="Struct post_inc">proto::tag::post_inc</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.post_inc.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="post_inc/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><post_inc>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2819794"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_dec/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_inc/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/post_inc/impl.html b/doc/html/boost/proto/post_inc/impl.html new file mode 100755 index 0000000000..bef8cd4a47 --- /dev/null +++ b/doc/html/boost/proto/post_inc/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../post_inc.html#id2819794" title="Description"> +<link rel="prev" href="../post_inc.html" title="Struct template post_inc"> +<link rel="next" href="../post_dec.html" title="Struct template post_dec"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../post_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../post_inc.html#id2819794"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.post_inc.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::post_inc::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><post_inc>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../post_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../post_inc.html#id2819794"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pre_dec.html b/doc/html/boost/proto/pre_dec.html new file mode 100755 index 0000000000..2b447ef75e --- /dev/null +++ b/doc/html/boost/proto/pre_dec.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template pre_dec</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="pre_inc/impl.html" title="Struct template impl"> +<link rel="next" href="pre_dec/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_inc/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_dec/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pre_dec"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template pre_dec</span></h2> +<p>boost::proto::pre_dec — A metafunction for generating pre-decrement expression types, + a grammar element for matching pre-decrement expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="pre_dec.html" title="Struct template pre_dec">pre_dec</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">pre_dec</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/pre_dec.html" title="Struct pre_dec">proto::tag::pre_dec</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.pre_dec.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/pre_dec.html" title="Struct pre_dec">proto::tag::pre_dec</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.pre_dec.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pre_dec/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><pre_dec>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2819262"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_inc/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_dec/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pre_dec/impl.html b/doc/html/boost/proto/pre_dec/impl.html new file mode 100755 index 0000000000..b946704495 --- /dev/null +++ b/doc/html/boost/proto/pre_dec/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pre_dec.html#id2819262" title="Description"> +<link rel="prev" href="../pre_dec.html" title="Struct template pre_dec"> +<link rel="next" href="../post_inc.html" title="Struct template post_inc"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pre_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pre_dec.html#id2819262"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pre_dec.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::pre_dec::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><pre_dec>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pre_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pre_dec.html#id2819262"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pre_inc.html b/doc/html/boost/proto/pre_inc.html new file mode 100755 index 0000000000..afda555fe5 --- /dev/null +++ b/doc/html/boost/proto/pre_inc.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template pre_inc</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="logical_not/impl.html" title="Struct template impl"> +<link rel="next" href="pre_inc/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_not/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_inc/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pre_inc"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template pre_inc</span></h2> +<p>boost::proto::pre_inc — A metafunction for generating pre-increment expression types, + a grammar element for matching pre-increment expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="pre_inc.html" title="Struct template pre_inc">pre_inc</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">pre_inc</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/pre_inc.html" title="Struct pre_inc">proto::tag::pre_inc</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.pre_inc.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/pre_inc.html" title="Struct pre_inc">proto::tag::pre_inc</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.pre_inc.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="pre_inc/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><pre_inc>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2818731"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_not/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_inc/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/pre_inc/impl.html b/doc/html/boost/proto/pre_inc/impl.html new file mode 100755 index 0000000000..10ad86a633 --- /dev/null +++ b/doc/html/boost/proto/pre_inc/impl.html @@ -0,0 +1,52 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../pre_inc.html#id2818731" title="Description"> +<link rel="prev" href="../pre_inc.html" title="Struct template pre_inc"> +<link rel="next" href="../pre_dec.html" title="Struct template pre_dec"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pre_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pre_inc.html#id2818731"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pre_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.pre_inc.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::pre_inc::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><pre_inc>::template impl<Expr, State, Data> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../pre_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pre_inc.html#id2818731"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pre_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/protect.html b/doc/html/boost/proto/protect.html new file mode 100755 index 0000000000..75dfe906f9 --- /dev/null +++ b/doc/html/boost/proto/protect.html @@ -0,0 +1,109 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template protect</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>"> +<link rel="prev" href="noinvoke.html" title="Struct template noinvoke"> +<link rel="next" href="protect/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="noinvoke.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protect/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.protect"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template protect</span></h2> +<p>boost::proto::protect — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> which prevents another + <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> from being applied in an + <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>">boost/proto/transform/make.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="protect.html" title="Struct template protect">protect</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">protect</span><span class="special"><</span><span class="identifier">PrimitiveTransform</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="protect/impl.html" title="Struct template impl">impl</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">PrimitiveTransform</span> <a class="link" href="protect/impl.html#boost.proto.protect.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2876444"></a><h2>Description</h2> +<p> + When building higher order transforms with + <code class="computeroutput"> + <a class="link" href="make.html" title="Struct template make">proto::make<></a> + </code> or + <code class="computeroutput"> + <a class="link" href="lazy.html" title="Struct template lazy">proto::lazy<></a> + </code>, + you sometimes would like to build types that are parameterized with Proto transforms. In such + lambda-style transforms, Proto will unhelpfully find all nested transforms and apply them, even + if you don't want them to be applied. Consider the following transform, which will replace the + <code class="computeroutput">proto::_</code> in + <code class="computeroutput">Bar<proto::_>()</code> + with <code class="computeroutput">proto::terminal<int>::type</code>: + </p> +<p> + </p> +<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">Bar</span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<span class="keyword">struct</span> <span class="identifier">Foo</span> <span class="special">:</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Bar</span><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">(</span><span class="special">)</span> <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span> + +<a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</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">i</span> <span class="special">=</span> <span class="special">{</span><span class="number">0</span><span class="special">}</span><span class="special">;</span> + +<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="special">)</span> <span class="special">{</span> + <span class="identifier">Foo</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</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="keyword">typeid</span><span class="special">(</span><span class="identifier">Foo</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span><span class="special">)</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</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="special">}</span></pre> +<p> + </p> +<p> + If you actually wanted to default-construct an object of type + <code class="computeroutput">Bar<proto::_></code>, you would have to protect the + <code class="computeroutput">_</code> to prevent it from being applied. You can + use <code class="computeroutput">proto::protect<></code> as follows: + </p> +<p> + </p> +<pre class="programlisting"><span class="comment">// OK: replace anything with Bar<_>()</span> +<span class="keyword">struct</span> <span class="identifier">Foo</span> <span class="special">:</span> + <a class="link" href="when.html" title="Struct template when">proto::when</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="identifier">Bar</span><span class="special"><</span><a class="link" href="protect.html" title="Struct template protect">proto::protect</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span> <span class="special">></span><span class="special">(</span><span class="special">)</span> <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="noinvoke.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protect/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/protect/impl.html b/doc/html/boost/proto/protect/impl.html new file mode 100755 index 0000000000..ebc446ddb2 --- /dev/null +++ b/doc/html/boost/proto/protect/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../protect.html#id2876444" title="Description"> +<link rel="prev" href="../protect.html" title="Struct template protect"> +<link rel="next" href="../make.html" title="Struct template make"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../protect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../protect.html#id2876444"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.protect.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::protect::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header <boost/proto/transform/make.hpp>">boost/proto/transform/make.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">PrimitiveTransform</span> <a name="boost.proto.protect.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../protect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../protect.html#id2876444"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/as_child.html b/doc/html/boost/proto/result_of/as_child.html new file mode 100755 index 0000000000..b10880e88a --- /dev/null +++ b/doc/html/boost/proto/result_of/as_child.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_child</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_expr.html" title="Struct template as_expr"> +<link rel="next" href="child.html" title="Struct template child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.as_child"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_child</span></h2> +<p>boost::proto::result_of::as_child — A metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../as_child_id1527575.html" title="Function as_child">proto::as_child</a>()</code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_child.html" title="Struct template as_child">as_child</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Domain</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">as_child</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.result_of.as_child.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2810460"></a><h2>Description</h2> +<p> + The <code class="computeroutput">proto::result_of::as_child<></code> metafunction turns types + into Proto expression types, if they are not already, in a domain-specific way. It is used by Proto + to compute the type of an object to store as a child in another expression node. + </p> +<p> + See <code class="computeroutput"><a class="link" href="../domain/as_child.html" title="Struct template as_child">proto::domain::as_child</a><></code> + for a complete description of the default behavior. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/as_expr.html b/doc/html/boost/proto/result_of/as_expr.html new file mode 100755 index 0000000000..5f85e5a5a5 --- /dev/null +++ b/doc/html/boost/proto/result_of/as_expr.html @@ -0,0 +1,67 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template as_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="../functional/right/result_This_Expr__id1519591.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="as_child.html" title="Struct template as_child"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/right/result_This_Expr__id1519591.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.as_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template as_expr</span></h2> +<p>boost::proto::result_of::as_expr — A metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../as_expr_id1527385.html" title="Function as_expr">proto::as_expr</a>()</code> function.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="as_expr.html" title="Struct template as_expr">as_expr</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Domain</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">as_expr</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.result_of.as_expr.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2810212"></a><h2>Description</h2> +<p> + The <code class="computeroutput">proto::result_of::as_expr<></code> metafunction turns types + into Proto expression types, if they are not already, in a domain-specific way. It is intended + for use to compute the type of a local variable that can hold the result of the + <code class="computeroutput"><a class="link" href="../as_expr_id1527385.html" title="Function as_expr">proto::as_expr</a>()</code> function. + </p> +<p> + See <code class="computeroutput"><a class="link" href="../domain/as_expr.html" title="Struct template as_expr">proto::domain::as_expr</a><></code> + for a complete description of the default behavior. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/right/result_This_Expr__id1519591.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/child.html b/doc/html/boost/proto/result_of/child.html new file mode 100755 index 0000000000..8362351ddd --- /dev/null +++ b/doc/html/boost/proto/result_of/child.html @@ -0,0 +1,59 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template child</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="as_child.html" title="Struct template as_child"> +<link rel="next" href="value.html" title="Struct template value"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.child"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template child</span></h2> +<p>boost::proto::result_of::child — A metafunction that returns the type of the <em class="replaceable"><code>N</code></em><sup>th</sup> + child of a Proto expression, where N is an MPL Integral Constant. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> N <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special"><</span><span class="number">0</span><span class="special">></span> <span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="child.html" title="Struct template child">child</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="child_c.html" title="Struct template child_c">proto::result_of::child_c</a><Expr, N::value> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2810650"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::result_of::child<Expr, N></code> is equivalent to + <code class="computeroutput"><a class="link" href="child_c.html" title="Struct template child_c">proto::result_of::child_c</a><Expr, N::value></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/child_c.html b/doc/html/boost/proto/result_of/child_c.html new file mode 100755 index 0000000000..c1e4d3d121 --- /dev/null +++ b/doc/html/boost/proto/result_of/child_c.html @@ -0,0 +1,134 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template child_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="right.html" title="Struct template right"> +<link rel="next" href="../is_callable.html" title="Struct template is_callable"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_callable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.child_c"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template child_c</span></h2> +<p>boost::proto::result_of::child_c — A metafunction that returns the type of the <em class="replaceable"><code>N</code></em><sup>th</sup> + child of a Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">long</span> N<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="child_c.html" title="Struct template child_c">child_c</a> <span class="special">{</span> + <span class="comment">// <a class="link" href="child_c.html#boost.proto.result_of.child_ctypes">types</a></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_child0</span> <a class="link" href="child_c.html#boost.proto.result_of.child_c.value_type"><span class="identifier">value_type</span></a><span class="special">;</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="child_c.html#boost.proto.result_of.child_c.type"><span class="identifier">type</span></a><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2811957"></a><h2>Description</h2> +<p> + A metafunction that returns the type of the <em class="replaceable"><code>N</code></em><sup>th</sup> + child of a Proto expression. <code class="computeroutput">N</code> must be 0 or less than + <code class="computeroutput">Expr::proto_arity::value</code>. + </p> +<div class="refsect2"> +<a name="id2811984"></a><h3> +<a name="boost.proto.result_of.child_ctypes"></a><code class="computeroutput">child_c</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_child0</span> <a name="boost.proto.result_of.child_c.value_type"></a><span class="identifier">value_type</span><span class="special">;</span></p> +<p> + The raw type of the <em class="replaceable"><code>N</code></em><sup>th</sup> child as it is stored + within <code class="computeroutput">Expr</code>. This may be a value or a reference. + </p> +</li> +<li class="listitem"> +<p> +<span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.result_of.child_c.type"></a><span class="identifier">type</span><span class="special">;</span></p> +<p> + If <code class="computeroutput">Expr</code> is not a reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T</code> + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput">Expr</code> is a non-const reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T const &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T &</code> + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput">Expr</code> is a const reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T const &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T const &</code> + </p></li> +</ul></div> +<p> + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.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_callable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/deep_copy.html b/doc/html/boost/proto/result_of/deep_copy.html new file mode 100755 index 0000000000..c0638ec6d3 --- /dev/null +++ b/doc/html/boost/proto/result_of/deep_copy.html @@ -0,0 +1,63 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template deep_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>"> +<link rel="prev" href="../../../BOOST_PROTO_ASSERT_MATCHES_NOT.html" title="Macro BOOST_PROTO_ASSERT_MATCHES_NOT"> +<link rel="next" href="../functional/deep_copy.html" title="Struct deep_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="../../../BOOST_PROTO_ASSERT_MATCHES_NOT.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../../doc/src/images/up.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/deep_copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.deep_copy"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template deep_copy</span></h2> +<p>boost::proto::result_of::deep_copy — A metafunction for calculating the return type of <code class="computeroutput"> + <a class="link" href="../deep_copy_id1493807.html" title="Function template deep_copy">proto::deep_copy()</a></code>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp" title="Header <boost/proto/deep_copy.hpp>">boost/proto/deep_copy.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="deep_copy.html" title="Struct template deep_copy">deep_copy</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.result_of.deep_copy.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2712119"></a><h2>Description</h2> +<p> + A metafunction for calculating the return type of <code class="computeroutput"> + <a class="link" href="../deep_copy_id1493807.html" title="Function template deep_copy">proto::deep_copy()</a></code>. The type + parameter <code class="computeroutput">Expr</code> should be the type of a Proto expression tree. + It should not be a reference type, nor should it be cv-qualified. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_PROTO_ASSERT_MATCHES_NOT.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.deep_copy_hpp"><img src="../../../../../doc/src/images/up.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/deep_copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/eval.html b/doc/html/boost/proto/result_of/eval.html new file mode 100755 index 0000000000..d3114f181e --- /dev/null +++ b/doc/html/boost/proto/result_of/eval.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template eval</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>"> +<link rel="prev" href="../functional/eval/result_This_Expr__Conte_id1495023.html" title="Struct template result<This(Expr, Context)>"> +<link rel="next" href="../eval_id1495281.html" title="Function eval"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/eval/result_This_Expr__Conte_id1495023.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../eval_id1495281.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.eval"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template eval</span></h2> +<p>boost::proto::result_of::eval — A metafunction for calculating the return type of <code class="computeroutput"> + <a class="link" href="../eval_id1495281.html" title="Function eval">proto::eval()</a></code> given a + certain <code class="computeroutput">Expr</code> and <code class="computeroutput">Context</code> types.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.eval_hpp" title="Header <boost/proto/eval.hpp>">boost/proto/eval.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="eval.html" title="Struct template eval">eval</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">eval</span><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.result_of.eval.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/eval/result_This_Expr__Conte_id1495023.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.eval_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../eval_id1495281.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/flatten.html b/doc/html/boost/proto/result_of/flatten.html new file mode 100755 index 0000000000..37575810a1 --- /dev/null +++ b/doc/html/boost/proto/result_of/flatten.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template flatten</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>"> +<link rel="prev" href="../functional/flatten/result_This_Expr____id1500803.html" title="Struct template result<This(Expr &)>"> +<link rel="next" href="../flatten_id1500995.html" title="Function flatten"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/flatten/result_This_Expr____id1500803.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flatten_id1500995.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.flatten"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template flatten</span></h2> +<p>boost::proto::result_of::flatten — Metafunction that computes the return type of <code class="computeroutput"> + <a class="link" href="../flatten_id1500995.html" title="Function flatten">proto::flatten()</a></code></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.fusion_hpp" title="Header <boost/proto/fusion.hpp>">boost/proto/fusion.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="flatten.html" title="Struct template flatten">flatten</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.result_of.flatten.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// A Fusion Forward Sequence</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/flatten/result_This_Expr____id1500803.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.fusion_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flatten_id1500995.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/left.html b/doc/html/boost/proto/result_of/left.html new file mode 100755 index 0000000000..96cd4d75f3 --- /dev/null +++ b/doc/html/boost/proto/result_of/left.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template left</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="value.html" title="Struct template value"> +<link rel="next" href="right.html" title="Struct template right"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.left"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template left</span></h2> +<p>boost::proto::result_of::left — A metafunction that returns the type of the left child of a binary Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="left.html" title="Struct template left">left</a> <span class="special">:</span> <span class="keyword"></span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="number">0</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2811560"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::result_of::left<Expr></code> is equivalent to + <code class="computeroutput"><a class="link" href="child_c.html" title="Struct template child_c">proto::result_of::child_c</a><Expr, 0></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/make_expr.html b/doc/html/boost/proto/result_of/make_expr.html new file mode 100755 index 0000000000..1e5d95150e --- /dev/null +++ b/doc/html/boost/proto/result_of/make_expr.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template make_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="../functional/unpack_expr/result_This_Sequence__id1503105.html" title="Struct template result<This(Sequence)>"> +<link rel="next" href="make_expr_Tag__Domain___id1503351.html" title="Struct template make_expr<Tag, Domain, A...>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/unpack_expr/result_This_Sequence__id1503105.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr_Tag__Domain___id1503351.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.make_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template make_expr</span></h2> +<p>boost::proto::result_of::make_expr — Metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr()</a></code> + function, with a domain deduced from the domains of the children.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="make_expr.html" title="Struct template make_expr">make_expr</a> <span class="special">{</span> + <span class="comment">// <a class="link" href="make_expr.html#boost.proto.result_of.make_exprtypes">types</a></span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">domain</span><span class="special">-</span><span class="identifier">deduced</span><span class="special">-</span><span class="identifier">from</span><span class="special">-</span><span class="identifier">child</span><span class="special">-</span><span class="identifier">types</span></code></em> <a class="link" href="make_expr.html#boost.proto.result_of.make_expr.D"><span class="identifier">D</span></a><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">D</span><span class="special">,</span> <span class="identifier">A</span><span class="special">...</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.result_of.make_expr.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2754104"></a><h2>Description</h2> +<p> + Computes the return type of the + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr()</a></code> function. + </p> +<p> + In this specialization, the domain is deduced from the domains of the child types. + If <code class="computeroutput"><a class="link" href="../is_domain.html" title="Struct template is_domain">proto::is_domain</a><A<sub>0</sub>>::value</code> + is <code class="computeroutput">true</code>, then another specialization is selected. + </p> +<div class="refsect2"> +<a name="id2754152"></a><h3> +<a name="boost.proto.result_of.make_exprtypes"></a><code class="computeroutput">make_expr</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">domain</span><span class="special">-</span><span class="identifier">deduced</span><span class="special">-</span><span class="identifier">from</span><span class="special">-</span><span class="identifier">child</span><span class="special">-</span><span class="identifier">types</span></code></em> <a name="boost.proto.result_of.make_expr.D"></a><span class="identifier">D</span><span class="special">;</span></p> +<p> + In this specialization, Proto uses the domains of the child expressions to compute the + domain of the parent. See + <code class="computeroutput"><a class="link" href="../deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a></code> for a full + description of the procedure used. + </p> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/unpack_expr/result_This_Sequence__id1503105.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr_Tag__Domain___id1503351.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/make_expr_Tag__Domain___id1503351.html b/doc/html/boost/proto/result_of/make_expr_Tag__Domain___id1503351.html new file mode 100755 index 0000000000..f386935889 --- /dev/null +++ b/doc/html/boost/proto/result_of/make_expr_Tag__Domain___id1503351.html @@ -0,0 +1,109 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template make_expr<Tag, Domain, A...></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="make_expr.html" title="Struct template make_expr"> +<link rel="next" href="unpack_expr.html" title="Struct template unpack_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.make_expr_Tag,_Domain,__id1503351"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template make_expr<Tag, Domain, A...></span></h2> +<p>boost::proto::result_of::make_expr<Tag, Domain, A...> — Metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr()</a></code> + function, within the specified domain.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="make_expr_Tag__Domain___id1503351.html" title="Struct template make_expr<Tag, Domain, A...>">make_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span><span class="special">...</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// <a class="link" href="make_expr_Tag__Domain___id1503351.html#boost.proto.result_of.make_expr_Tag,_Domain,__id1503351types">types</a></span> + <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a class="link" href="make_expr_Tag__Domain___id1503351.html#boost.proto.result_of.make_expr_Tag,_Domain,__id1503351.type"><span class="identifier">type</span></a><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2754472"></a><h2>Description</h2> +<p> + Computes the return type of the + <code class="computeroutput"><a class="link" href="../make_expr_id1503817.html" title="Function make_expr">proto::make_expr()</a></code> + function. + </p> +<div class="refsect2"> +<a name="id2754492"></a><h3> +<a name="boost.proto.result_of.make_expr_Tag,_Domain,__id1503351types"></a><code class="computeroutput">make_expr</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></em></span> <a name="boost.proto.result_of.make_expr_Tag,_Domain,__id1503351.type"></a><span class="identifier">type</span><span class="special">;</span></p> +<p> + Let <code class="computeroutput"><em class="replaceable"><code>WRAP<X></code></em></code> be defined such that: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">X</code> is <code class="computeroutput">Y &</code> + or (possibly cv-qualified) <code class="computeroutput">boost::reference_wrapper<Y></code>, + then <code class="computeroutput"><em class="replaceable"><code>WRAP<X></code></em></code> is equivalent to + <code class="computeroutput"><a class="link" href="as_child.html" title="Struct template as_child">proto::result_of::as_child</a><Y, Domain></code>. + </p></li> +<li class="listitem"><p> + Otherwise, <code class="computeroutput"><em class="replaceable"><code>WRAP<X></code></em></code> is equivalent to + <code class="computeroutput"><a class="link" href="as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><X, Domain></code>. + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput"><a class="link" href="../wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a><typename Domain::proto_generator>::value</code> + is true, then let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><a class="link" href="../basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code>; otherwise, + let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><a class="link" href="../expr.html" title="Struct template expr">proto::expr</a></code>. + </p> +<p> + If <code class="computeroutput">Tag</code> is + <code class="computeroutput"><a class="link" href="../tag/terminal.html" title="Struct terminal">proto::tag::terminal</a></code>, then + <code class="computeroutput">type</code> is a typedef for + <code class="computeroutput">typename <em class="replaceable"><code>WRAP<A<sub>0</sub>></code></em>::type</code>. + </p> +<p> + Otherwise, <code class="computeroutput">type</code> is a typedef for + <code class="computeroutput">boost::result_of<Domain(<em class="replaceable"><code>E</code></em>< + Tag, <a class="link" href="../listN.html" title="Struct template listN">proto::listN</a>< + typename <em class="replaceable"><code>WRAP<A></code></em>::type...> >)>::type</code> + </p> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/right.html b/doc/html/boost/proto/result_of/right.html new file mode 100755 index 0000000000..ea08b36163 --- /dev/null +++ b/doc/html/boost/proto/result_of/right.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template right</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="left.html" title="Struct template left"> +<link rel="next" href="child_c.html" title="Struct template child_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="left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.right"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template right</span></h2> +<p>boost::proto::result_of::right — A metafunction that returns the type of the right child of a binary Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="right.html" title="Struct template right">right</a> <span class="special">:</span> <span class="keyword"></span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">child_c</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="number">1</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2811733"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::result_of::right<Expr></code> is equivalent to + <code class="computeroutput"><a class="link" href="child_c.html" title="Struct template child_c">proto::result_of::child_c</a><Expr, 1></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="child_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/unpack_expr.html b/doc/html/boost/proto/result_of/unpack_expr.html new file mode 100755 index 0000000000..54f60b8421 --- /dev/null +++ b/doc/html/boost/proto/result_of/unpack_expr.html @@ -0,0 +1,79 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unpack_expr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="make_expr_Tag__Domain___id1503351.html" title="Struct template make_expr<Tag, Domain, A...>"> +<link rel="next" href="unpack_expr_Tag__Domain_id1503713.html" title="Struct template unpack_expr<Tag, Domain, 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="make_expr_Tag__Domain___id1503351.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr_Tag__Domain_id1503713.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.unpack_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unpack_expr</span></h2> +<p>boost::proto::result_of::unpack_expr — Metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a></code> + function, with a domain deduced from the domains of the children. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> Void <span class="special">=</span> <span class="keyword">void</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unpack_expr.html" title="Struct template unpack_expr">unpack_expr</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> + <span class="keyword">typename</span> <a class="link" href="make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span> + <span class="identifier">Tag</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special"><</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <span class="number">0</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special"><</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">N</span></code></em><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="special">::</span><span class="identifier">type</span> + <a name="boost.proto.result_of.unpack_expr.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// Where S is a Fusion RandomAccessSequence equivalent to Sequence, and N is the size of S.</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2755113"></a><h2>Description</h2> +<p> + Compute the return type of the + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a></code> + function. + </p> +<p> + <code class="computeroutput">Sequence</code> is a Fusion Forward Sequence. + </p> +<p> + In this specialization, the domain is deduced from the domains of the child types. + If <code class="computeroutput"><a class="link" href="../is_domain.html" title="Struct template is_domain">proto::is_domain</a><Sequence>::value</code> + is <code class="computeroutput">true</code>, then another specialization is selected. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr_Tag__Domain___id1503351.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unpack_expr_Tag__Domain_id1503713.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/unpack_expr_Tag__Domain_id1503713.html b/doc/html/boost/proto/result_of/unpack_expr_Tag__Domain_id1503713.html new file mode 100755 index 0000000000..dfd512960a --- /dev/null +++ b/doc/html/boost/proto/result_of/unpack_expr_Tag__Domain_id1503713.html @@ -0,0 +1,72 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unpack_expr<Tag, Domain, 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="unpack_expr.html" title="Struct template unpack_expr"> +<link rel="next" href="../make_expr_id1503817.html" title="Function make_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unpack_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr_id1503817.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.unpack_expr_Tag,_Domain_id1503713"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unpack_expr<Tag, Domain, Sequence></span></h2> +<p>boost::proto::result_of::unpack_expr<Tag, Domain, Sequence> — Metafunction that computes the return type of the + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a></code> + function, within the specified domain. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unpack_expr_Tag__Domain_id1503713.html" title="Struct template unpack_expr<Tag, Domain, Sequence>">unpack_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> + <span class="keyword">typename</span> <a class="link" href="make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special"><</span> + <span class="identifier">Tag</span><span class="special">,</span> + <span class="identifier">Domain</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special"><</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <span class="number">0</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> + <span class="special">...</span> + <span class="keyword">typename</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span><span class="special"><</span><em class="replaceable"><code><span class="identifier">S</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">N</span></code></em><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="special">::</span><span class="identifier">type</span> + <a name="boost.proto.result_of.unpack_expr_Tag,_Domain_id1503713.type"></a><span class="identifier">type</span><span class="special">;</span> <span class="comment">// Where S is a RandomAccessSequence equivalent to Sequence, and N is the size of S.</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2755556"></a><h2>Description</h2> +<p> + Computes the return type of the + <code class="computeroutput"><a class="link" href="../unpack_expr_id1504094.html" title="Function unpack_expr">proto::unpack_expr()</a></code> + function. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unpack_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../../doc/src/images/up.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_expr_id1503817.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/result_of/value.html b/doc/html/boost/proto/result_of/value.html new file mode 100755 index 0000000000..4fa3d68552 --- /dev/null +++ b/doc/html/boost/proto/result_of/value.html @@ -0,0 +1,164 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template value</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="child.html" title="Struct template child"> +<link rel="next" href="left.html" title="Struct template left"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.result_of.value"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template value</span></h2> +<p>boost::proto::result_of::value — A metafunction that returns the type of the value of a terminal Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="value.html" title="Struct template value">value</a> <span class="special">{</span> + <span class="comment">// <a class="link" href="value.html#boost.proto.result_of.valuetypes">types</a></span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_child0</span> <a class="link" href="value.html#boost.proto.result_of.value.value_type"><span class="identifier">value_type</span></a><span class="special">;</span> + <span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a class="link" href="value.html#boost.proto.result_of.value.type"><span class="identifier">type</span></a><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2810858"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2810862"></a><h3> +<a name="boost.proto.result_of.valuetypes"></a><code class="computeroutput">value</code> + public + types</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<p> +<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_child0</span> <a name="boost.proto.result_of.value.value_type"></a><span class="identifier">value_type</span><span class="special">;</span></p> +<p> + The raw type of the value as it is + stored within <code class="computeroutput">Expr</code>. This may be a value or a reference. + </p> +</li> +<li class="listitem"> +<p> +<span class="keyword">typedef</span> <em class="replaceable"><code><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span></code></em> <a name="boost.proto.result_of.value.type"></a><span class="identifier">type</span><span class="special">;</span></p> +<p> + If <code class="computeroutput">Expr</code> is not a reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const(&)[N]</code> becomes <code class="computeroutput">T[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T[N]</code> becomes <code class="computeroutput">T[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T(&)[N]</code> becomes <code class="computeroutput">T[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">R(&)(A...)</code> becomes <code class="computeroutput">R(&)(A...)</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T</code> + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput">Expr</code> is a non-const reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const(&)[N]</code> becomes <code class="computeroutput">T const(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T[N]</code> becomes <code class="computeroutput">T(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T(&)[N]</code> becomes <code class="computeroutput">T(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">R(&)(A...)</code> becomes <code class="computeroutput">R(&)(A...)</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T const &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T &</code> + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput">Expr</code> is a const reference type, <code class="computeroutput">type</code> + is computed as follows: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">T const(&)[N]</code> becomes <code class="computeroutput">T const(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T[N]</code> becomes <code class="computeroutput">T const(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T(&)[N]</code> becomes <code class="computeroutput">T(&)[N]</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">R(&)(A...)</code> becomes <code class="computeroutput">R(&)(A...)</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T const &</code> becomes <code class="computeroutput">T const &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T &</code> becomes <code class="computeroutput">T &</code> + </p></li> +<li class="listitem"><p> + <code class="computeroutput">T</code> becomes <code class="computeroutput">T const &</code> + </p></li> +</ul></div> +<p> + </p> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/reverse_fold.html b/doc/html/boost/proto/reverse_fold.html new file mode 100755 index 0000000000..a57bdce95c --- /dev/null +++ b/doc/html/boost/proto/reverse_fold.html @@ -0,0 +1,59 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp" title="Header <boost/proto/transform/fold.hpp>"> +<link rel="prev" href="fold/impl.html" title="Struct template impl"> +<link rel="next" href="fold_tree.html" title="Struct template fold_tree"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold_tree.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.reverse_fold"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template reverse_fold</span></h2> +<p>boost::proto::reverse_fold — + A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that is the same as the <code class="computeroutput"><a class="link" href="fold.html" title="Struct template fold">proto::fold<></a></code> + transform, except that it folds back-to-front instead of front-to-back. It uses the + <code class="computeroutput"> + <a class="link" href="../../proto/reference.html#boost.proto._reverse">proto::_reverse</a> + </code> callable <a class="link" href="../../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a> to create a + <code class="computeroutput">fusion::reverse_view<></code> of the sequence before invoking + <code class="computeroutput">fusion::fold<></code>. + </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp" title="Header <boost/proto/transform/fold.hpp>">boost/proto/transform/fold.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="reverse_fold.html" title="Struct template reverse_fold">reverse_fold</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span> <a class="link" href="../../proto/reference.html#boost.proto._reverse">proto::_reverse</a><span class="special">(</span><span class="identifier">Sequence</span><span class="special">)</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">Fun</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fold_tree.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/reverse_fold_tree.html b/doc/html/boost/proto/reverse_fold_tree.html new file mode 100755 index 0000000000..8e6d6d2501 --- /dev/null +++ b/doc/html/boost/proto/reverse_fold_tree.html @@ -0,0 +1,102 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template reverse_fold_tree</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>"> +<link rel="prev" href="fold_tree/impl.html" title="Struct template impl"> +<link rel="next" href="reverse_fold_tree/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_tree/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp"><img src="../../../../doc/src/images/up.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_tree/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.reverse_fold_tree"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template reverse_fold_tree</span></h2> +<p>boost::proto::reverse_fold_tree — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that recursively applies the + <code class="computeroutput"><a class="link" href="reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold<></a></code> transform to + sub-trees that all share a common tag type.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>">boost/proto/transform/fold_tree.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="reverse_fold_tree.html" title="Struct template reverse_fold_tree">reverse_fold_tree</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">reverse_fold_tree</span><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> +<span class="special">{</span> + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="reverse_fold_tree/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold</a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2867115"></a><h2>Description</h2> +<p> + <code class="computeroutput">proto::reverse_fold_tree<></code> is useful for flattening trees + into lists; for example, you might use <code class="computeroutput">proto::reverse_fold_tree<></code> + to flatten an expression tree like <code class="computeroutput">a | b | c</code> into a Fusion list like + <code class="computeroutput">cons(a, cons(b, cons(c)))</code>. + </p> +<p> + <code class="computeroutput">proto::reverse_fold_tree<></code> is easily understood in terms of + a <code class="computeroutput">recurse_if_<></code> helper, defined as follows: + </p> +<pre class="programlisting"> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">></span> +<span class="keyword">struct</span> <span class="identifier">recurse_if_</span> <span class="special">:</span> + <a class="link" href="if_.html" title="Struct template if_">proto::if_</a><span class="special"><</span> + <span class="comment">// If the current node has type type "Tag" ...</span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special"><</span><a class="link" href="tag_of.html" title="Struct template tag_of">proto::tag_of</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">,</span> + <span class="comment">// ... recurse, otherwise ...</span> + <a class="link" href="reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span><span class="special">,</span> + <span class="comment">// ... apply the Fun transform.</span> + <span class="identifier">Fun</span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + With <code class="computeroutput">recurse_if_<></code> as defined above, + <code class="computeroutput">proto::reverse_fold_tree<Sequence, State0, Fun>()(expr, state, data)</code> + is equivalent to: + </p> +<pre class="programlisting"><a class="link" href="reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold</a><span class="special"><</span> + <span class="identifier">Sequence</span><span class="special">,</span> + <span class="identifier">State0</span><span class="special">,</span> + <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> +<span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">expr</span><span class="special">,</span> <span class="identifier">state</span><span class="special">,</span> <span class="identifier">data</span><span class="special">)</span><span class="special">.</span></pre> +<p> + It has the effect of folding a tree back-to-front, recursing into child nodes that share a + tag type with the parent node. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_tree/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp"><img src="../../../../doc/src/images/up.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_tree/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/reverse_fold_tree/impl.html b/doc/html/boost/proto/reverse_fold_tree/impl.html new file mode 100755 index 0000000000..49c5372ade --- /dev/null +++ b/doc/html/boost/proto/reverse_fold_tree/impl.html @@ -0,0 +1,55 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../reverse_fold_tree.html#id2867115" title="Description"> +<link rel="prev" href="../reverse_fold_tree.html" title="Struct template reverse_fold_tree"> +<link rel="next" href="../transform.html" title="Struct template 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="../reverse_fold_tree.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reverse_fold_tree.html#id2867115"><img src="../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.reverse_fold_tree.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::reverse_fold_tree::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.fold_tree_hpp" title="Header <boost/proto/transform/fold_tree.hpp>">boost/proto/transform/fold_tree.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <a class="link" href="../reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold</a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State0</span><span class="special">,</span> <span class="identifier">recurse_if_</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span><span class="special">,</span> <span class="identifier">Fun</span><span class="special">></span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_tree.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reverse_fold_tree.html#id2867115"><img src="../../../../../doc/src/images/up.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/doc/html/boost/proto/right_id1528399.html b/doc/html/boost/proto/right_id1528399.html new file mode 100755 index 0000000000..86a7014d3d --- /dev/null +++ b/doc/html/boost/proto/right_id1528399.html @@ -0,0 +1,95 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function right</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="left_id1528275.html" title="Function left"> +<link rel="next" href="_expr.html" title="Struct _expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="left_id1528275.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.right_id1528399"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function right</span></h2> +<p>boost::proto::right — Return the right child of the specified binary Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">right</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">right</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2846042"></a><h2>Description</h2> +<p>Return the right child of the specified binary Proto expression. The child is returned by reference.</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The Proto expression. </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td> +<p> + <code class="computeroutput"><a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><Expr>::value</code> is + <code class="computeroutput">true</code>. + </p> +<p> + <code class="computeroutput">2 == Expr::proto_arity::value</code> + </p> +</td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + A reference to the right child of <code class="computeroutput">expr</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="left_id1528275.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_left.html b/doc/html/boost/proto/shift_left.html new file mode 100755 index 0000000000..e9122bb912 --- /dev/null +++ b/doc/html/boost/proto/shift_left.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template shift_left</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="post_dec/impl.html" title="Struct template impl"> +<link rel="next" href="shift_left/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_dec/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_left"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template shift_left</span></h2> +<p>boost::proto::shift_left — A metafunction for generating left-shift expression types, + a grammar element for matching left-shift expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="shift_left.html" title="Struct template shift_left">shift_left</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">shift_left</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/shift_left.html" title="Struct shift_left">proto::tag::shift_left</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_left.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/shift_left.html" title="Struct shift_left">proto::tag::shift_left</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_left.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="shift_left/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_left>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2820898"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_dec/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_left/impl.html b/doc/html/boost/proto/shift_left/impl.html new file mode 100755 index 0000000000..c2abb8a5d2 --- /dev/null +++ b/doc/html/boost/proto/shift_left/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../shift_left.html#id2820898" title="Description"> +<link rel="prev" href="../shift_left.html" title="Struct template shift_left"> +<link rel="next" href="../shift_right.html" title="Struct template shift_right"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_left.html#id2820898"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_left.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::shift_left::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_left>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_left.html#id2820898"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_left_assign.html b/doc/html/boost/proto/shift_left_assign.html new file mode 100755 index 0000000000..ae04c7a8d6 --- /dev/null +++ b/doc/html/boost/proto/shift_left_assign.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template shift_left_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="assign/impl.html" title="Struct template impl"> +<link rel="next" href="shift_left_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_left_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template shift_left_assign</span></h2> +<p>boost::proto::shift_left_assign — A metafunction for generating left-shift-assign expression types, + a grammar element for matching left-shift-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="shift_left_assign.html" title="Struct template shift_left_assign">shift_left_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">shift_left_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/shift_left_assign.html" title="Struct shift_left_assign">proto::tag::shift_left_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_left_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/shift_left_assign.html" title="Struct shift_left_assign">proto::tag::shift_left_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_left_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="shift_left_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_left_assign>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2833159"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_left_assign/impl.html b/doc/html/boost/proto/shift_left_assign/impl.html new file mode 100755 index 0000000000..0ab7996e8d --- /dev/null +++ b/doc/html/boost/proto/shift_left_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../shift_left_assign.html#id2833159" title="Description"> +<link rel="prev" href="../shift_left_assign.html" title="Struct template shift_left_assign"> +<link rel="next" href="../shift_right_assign.html" title="Struct template shift_right_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_left_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_left_assign.html#id2833159"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_right_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_left_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::shift_left_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_left_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_left_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_left_assign.html#id2833159"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shift_right_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_right.html b/doc/html/boost/proto/shift_right.html new file mode 100755 index 0000000000..7380c7e2a9 --- /dev/null +++ b/doc/html/boost/proto/shift_right.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template shift_right</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="shift_left/impl.html" title="Struct template impl"> +<link rel="next" href="shift_right/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_right"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template shift_right</span></h2> +<p>boost::proto::shift_right — A metafunction for generating right-shift expression types, + a grammar element for matching right-shift expressions, and a + <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="shift_right.html" title="Struct template shift_right">shift_right</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">shift_right</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/shift_right.html" title="Struct shift_right">proto::tag::shift_right</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_right.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/shift_right.html" title="Struct shift_right">proto::tag::shift_right</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_right.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="shift_right/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_right>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2821471"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_right/impl.html b/doc/html/boost/proto/shift_right/impl.html new file mode 100755 index 0000000000..06c2e0102b --- /dev/null +++ b/doc/html/boost/proto/shift_right/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../shift_right.html#id2821471" title="Description"> +<link rel="prev" href="../shift_right.html" title="Struct template shift_right"> +<link rel="next" href="../multiplies.html" title="Struct template multiplies"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_right.html#id2821471"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../multiplies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_right.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::shift_right::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_right>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_right.html#id2821471"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../multiplies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_right_assign.html b/doc/html/boost/proto/shift_right_assign.html new file mode 100755 index 0000000000..43bd6d1652 --- /dev/null +++ b/doc/html/boost/proto/shift_right_assign.html @@ -0,0 +1,67 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template shift_right_assign</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="shift_left_assign/impl.html" title="Struct template impl"> +<link rel="next" href="shift_right_assign/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_right_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template shift_right_assign</span></h2> +<p>boost::proto::shift_right_assign — A metafunction for generating right-shift-assign expression types, + a grammar element for matching right-shift-assign expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="shift_right_assign.html" title="Struct template shift_right_assign">shift_right_assign</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">shift_right_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/shift_right_assign.html" title="Struct shift_right_assign">proto::tag::shift_right_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_right_assign.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/shift_right_assign.html" title="Struct shift_right_assign">proto::tag::shift_right_assign</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.shift_right_assign.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="shift_right_assign/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><span class="special"><</span><span class="identifier">shift_right_assign</span><span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2833796"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right_assign/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/shift_right_assign/impl.html b/doc/html/boost/proto/shift_right_assign/impl.html new file mode 100755 index 0000000000..4e9f574a39 --- /dev/null +++ b/doc/html/boost/proto/shift_right_assign/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../shift_right_assign.html#id2833796" title="Description"> +<link rel="prev" href="../shift_right_assign.html" title="Struct template shift_right_assign"> +<link rel="next" href="../multiplies_assign.html" title="Struct template multiplies_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_right_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_right_assign.html#id2833796"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../multiplies_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.shift_right_assign.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::shift_right_assign::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><shift_right_assign>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../shift_right_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shift_right_assign.html#id2833796"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../multiplies_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/size_t.html b/doc/html/boost/proto/size_t.html new file mode 100755 index 0000000000..8239bc8a10 --- /dev/null +++ b/doc/html/boost/proto/size_t.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template size_t</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>"> +<link rel="prev" href="long_.html" title="Struct template long_"> +<link rel="next" href="lazy.html" title="Struct template lazy"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="long_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lazy.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.size_t"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template size_t</span></h2> +<p>boost::proto::size_t — A <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the specified std::size_t.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp" title="Header <boost/proto/transform/integral_c.hpp>">boost/proto/transform/integral_c.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> I<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="size_t.html" title="Struct template size_t">size_t</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="integral_c.html" title="Struct template integral_c">proto::integral_c</a><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">I</span> <span class="special">></span> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="long_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.integral_c_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lazy.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/subscript.html b/doc/html/boost/proto/subscript.html new file mode 100755 index 0000000000..eeab607113 --- /dev/null +++ b/doc/html/boost/proto/subscript.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template subscript</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="bitwise_xor_assign/impl.html" title="Struct template impl"> +<link rel="next" href="subscript/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subscript/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.subscript"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template subscript</span></h2> +<p>boost::proto::subscript — A metafunction for generating subscript expression types, + a grammar element for matching subscript expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="subscript.html" title="Struct template subscript">subscript</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">subscript</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/subscript.html" title="Struct subscript">proto::tag::subscript</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.subscript.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/subscript.html" title="Struct subscript">proto::tag::subscript</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list2</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.subscript.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="subscript/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><subscript>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2839093"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor_assign/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subscript/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/subscript/impl.html b/doc/html/boost/proto/subscript/impl.html new file mode 100755 index 0000000000..ed0d97778d --- /dev/null +++ b/doc/html/boost/proto/subscript/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../subscript.html#id2839093" title="Description"> +<link rel="prev" href="../subscript.html" title="Struct template subscript"> +<link rel="next" href="../function.html" title="Struct template function"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../subscript.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../subscript.html#id2839093"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.subscript.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::subscript::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><subscript>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../subscript.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../subscript.html#id2839093"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/switch_.html b/doc/html/boost/proto/switch_.html new file mode 100755 index 0000000000..a35623e927 --- /dev/null +++ b/doc/html/boost/proto/switch_.html @@ -0,0 +1,84 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template switch_</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="and_/impl.html" title="Struct template impl"> +<link rel="next" href="switch_/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="and_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="switch_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.switch_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template switch_</span></h2> +<p>boost::proto::switch_ — For matching one of a set of alternate grammars, which are looked up based on + the result type of the transform passed in second template parameter. + If no transform is passed, the default one is <code class="computeroutput"><a class="link" href="tag_of.html" title="Struct template tag_of">proto::tag_of</a><<a class="link" href="_.html" title="Struct _">proto::_</a>>()</code> + so the default matching is based on the expression's tag type. When used as a transform, + <code class="computeroutput">proto::switch_<></code> applies the transform associated + with the sub-grammar that matches the expression.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Cases<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Transform.html" title="Concept Transform">Transform</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="switch_.html" title="Struct template switch_">switch_</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span><span class="identifier">switch_</span><span class="special"><</span><span class="identifier">Cases</span><span class="special">,</span> <span class="identifier">Transform</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">switch_</span> <a name="boost.proto.switch_.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="switch_/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">Cases</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">case_</span><span class="special"><</span> + <span class="keyword">typename</span> <a class="link" href="when.html" title="Struct template when">when</a><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">Transform</span><span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2765018"></a><h2>Description</h2> +<p> + An expression type <code class="computeroutput">E</code> matches + <code class="computeroutput">proto::switch_<C,T></code> if + <code class="computeroutput">E</code> matches + <code class="computeroutput">C::case_<boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>,T>(E)>::type></code>. + </p> +<p> + When applying <code class="computeroutput">proto::switch_<C,T></code> as a + transform with an expression <code class="computeroutput">e</code> of type + <code class="computeroutput">E</code>, state <code class="computeroutput">s</code> of + type <code class="computeroutput">S</code> and data <code class="computeroutput">d</code> + of type <code class="computeroutput">D</code>, it is equivalent to + <code class="computeroutput">C::case_<boost::result_of<<a class="link" href="when.html" title="Struct template when">proto::when</a><<a class="link" href="_.html" title="Struct _">proto::_</a>,T>(E,S,D)>::type>()(e, s, d)</code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="and_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="switch_/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/switch_/impl.html b/doc/html/boost/proto/switch_/impl.html new file mode 100755 index 0000000000..74a7100557 --- /dev/null +++ b/doc/html/boost/proto/switch_/impl.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../switch_.html#id2765018" title="Description"> +<link rel="prev" href="../switch_.html" title="Struct template switch_"> +<link rel="next" href="../exact.html" title="Struct template exact"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../switch_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../switch_.html#id2765018"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../exact.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.switch_.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::switch_::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">Cases</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">case_</span><span class="special"><</span> + <span class="keyword">typename</span> <a class="link" href="../when.html" title="Struct template when">when</a><span class="special"><</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">Transform</span><span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <span class="special">></span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../switch_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../switch_.html#id2765018"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../exact.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/address_of.html b/doc/html/boost/proto/tag/address_of.html new file mode 100755 index 0000000000..da1289fc67 --- /dev/null +++ b/doc/html/boost/proto/tag/address_of.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct address_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="complement.html" title="Struct complement"> +<link rel="next" href="logical_not.html" title="Struct logical_not"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="complement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_not.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.address_of"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct address_of</span></h2> +<p>boost::proto::tag::address_of — Tag type for the unary & operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="address_of.html" title="Struct address_of">address_of</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="complement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_not.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/assign.html b/doc/html/boost/proto/tag/assign.html new file mode 100755 index 0000000000..c2f08a5413 --- /dev/null +++ b/doc/html/boost/proto/tag/assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="mem_ptr.html" title="Struct mem_ptr"> +<link rel="next" href="shift_left_assign.html" title="Struct shift_left_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="mem_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct assign</span></h2> +<p>boost::proto::tag::assign — Tag type for the binary = operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="assign.html" title="Struct assign">assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="mem_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_and.html b/doc/html/boost/proto/tag/bitwise_and.html new file mode 100755 index 0000000000..d348b0bc55 --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_and.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_and</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="logical_and.html" title="Struct logical_and"> +<link rel="next" href="bitwise_or.html" title="Struct bitwise_or"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_and"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_and</span></h2> +<p>boost::proto::tag::bitwise_and — Tag type for the binary & operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_and.html" title="Struct bitwise_and">bitwise_and</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_and_assign.html b/doc/html/boost/proto/tag/bitwise_and_assign.html new file mode 100755 index 0000000000..49d1ab27a9 --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_and_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_and_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="minus_assign.html" title="Struct minus_assign"> +<link rel="next" href="bitwise_or_assign.html" title="Struct bitwise_or_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_and_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_and_assign</span></h2> +<p>boost::proto::tag::bitwise_and_assign — Tag type for the binary &= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_and_assign.html" title="Struct bitwise_and_assign">bitwise_and_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_or_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_or.html b/doc/html/boost/proto/tag/bitwise_or.html new file mode 100755 index 0000000000..f0aa4a07c4 --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_or.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_or</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_and.html" title="Struct bitwise_and"> +<link rel="next" href="bitwise_xor.html" title="Struct bitwise_xor"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_or"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_or</span></h2> +<p>boost::proto::tag::bitwise_or — Tag type for the binary | operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_or.html" title="Struct bitwise_or">bitwise_or</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_or_assign.html b/doc/html/boost/proto/tag/bitwise_or_assign.html new file mode 100755 index 0000000000..a712f35d68 --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_or_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_or_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_and_assign.html" title="Struct bitwise_and_assign"> +<link rel="next" href="bitwise_xor_assign.html" title="Struct bitwise_xor_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_or_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_or_assign</span></h2> +<p>boost::proto::tag::bitwise_or_assign — Tag type for the binary |= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_or_assign.html" title="Struct bitwise_or_assign">bitwise_or_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_and_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_xor_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_xor.html b/doc/html/boost/proto/tag/bitwise_xor.html new file mode 100755 index 0000000000..67fec75191 --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_xor.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_xor</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_or.html" title="Struct bitwise_or"> +<link rel="next" href="comma.html" title="Struct comma"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_xor"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_xor</span></h2> +<p>boost::proto::tag::bitwise_xor — Tag type for the binary ^ operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_xor.html" title="Struct bitwise_xor">bitwise_xor</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/bitwise_xor_assign.html b/doc/html/boost/proto/tag/bitwise_xor_assign.html new file mode 100755 index 0000000000..aaecab9eed --- /dev/null +++ b/doc/html/boost/proto/tag/bitwise_xor_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct bitwise_xor_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_or_assign.html" title="Struct bitwise_or_assign"> +<link rel="next" href="subscript.html" title="Struct subscript"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subscript.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.bitwise_xor_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct bitwise_xor_assign</span></h2> +<p>boost::proto::tag::bitwise_xor_assign — Tag type for the binary ^= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="bitwise_xor_assign.html" title="Struct bitwise_xor_assign">bitwise_xor_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_or_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subscript.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/comma.html b/doc/html/boost/proto/tag/comma.html new file mode 100755 index 0000000000..482ba48441 --- /dev/null +++ b/doc/html/boost/proto/tag/comma.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct comma</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_xor.html" title="Struct bitwise_xor"> +<link rel="next" href="mem_ptr.html" title="Struct mem_ptr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.comma"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct comma</span></h2> +<p>boost::proto::tag::comma — Tag type for the binary , operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="comma.html" title="Struct comma">comma</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/complement.html b/doc/html/boost/proto/tag/complement.html new file mode 100755 index 0000000000..0fa3a1f9ad --- /dev/null +++ b/doc/html/boost/proto/tag/complement.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct complement</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="dereference.html" title="Struct dereference"> +<link rel="next" href="address_of.html" title="Struct address_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="dereference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_of.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.complement"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct complement</span></h2> +<p>boost::proto::tag::complement — Tag type for the unary ~ operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="complement.html" title="Struct complement">complement</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="dereference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_of.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/dereference.html b/doc/html/boost/proto/tag/dereference.html new file mode 100755 index 0000000000..1eecd0c786 --- /dev/null +++ b/doc/html/boost/proto/tag/dereference.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct dereference</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="negate.html" title="Struct negate"> +<link rel="next" href="complement.html" title="Struct complement"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="negate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.dereference"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct dereference</span></h2> +<p>boost::proto::tag::dereference — Tag type for the unary * operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="dereference.html" title="Struct dereference">dereference</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="negate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/divides.html b/doc/html/boost/proto/tag/divides.html new file mode 100755 index 0000000000..f7b80fd601 --- /dev/null +++ b/doc/html/boost/proto/tag/divides.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct divides</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="multiplies.html" title="Struct multiplies"> +<link rel="next" href="modulus.html" title="Struct modulus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.divides"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct divides</span></h2> +<p>boost::proto::tag::divides — Tag type for the binary / operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="divides.html" title="Struct divides">divides</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/divides_assign.html b/doc/html/boost/proto/tag/divides_assign.html new file mode 100755 index 0000000000..54a59a2bc2 --- /dev/null +++ b/doc/html/boost/proto/tag/divides_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct divides_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="multiplies_assign.html" title="Struct multiplies_assign"> +<link rel="next" href="modulus_assign.html" title="Struct modulus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.divides_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct divides_assign</span></h2> +<p>boost::proto::tag::divides_assign — Tag type for the binary /= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="divides_assign.html" title="Struct divides_assign">divides_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="multiplies_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modulus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/equal_to.html b/doc/html/boost/proto/tag/equal_to.html new file mode 100755 index 0000000000..2f0d34d2a6 --- /dev/null +++ b/doc/html/boost/proto/tag/equal_to.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="greater_equal.html" title="Struct greater_equal"> +<link rel="next" href="not_equal_to.html" title="Struct not_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="greater_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.equal_to"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct equal_to</span></h2> +<p>boost::proto::tag::equal_to — Tag type for the binary == operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="equal_to.html" title="Struct equal_to">equal_to</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/function.html b/doc/html/boost/proto/tag/function.html new file mode 100755 index 0000000000..300518cfa3 --- /dev/null +++ b/doc/html/boost/proto/tag/function.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct function</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="if_else_.html" title="Struct if_else_"> +<link rel="next" href="../functional/as_expr.html" title="Struct template as_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_else_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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/as_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.function"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct function</span></h2> +<p>boost::proto::tag::function — Tag type for the n-ary function call operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="function.html" title="Struct function">function</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_else_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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/as_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/greater.html b/doc/html/boost/proto/tag/greater.html new file mode 100755 index 0000000000..620f4f1543 --- /dev/null +++ b/doc/html/boost/proto/tag/greater.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct greater</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="less.html" title="Struct less"> +<link rel="next" href="less_equal.html" title="Struct less_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.greater"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct greater</span></h2> +<p>boost::proto::tag::greater — Tag type for the binary > operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="greater.html" title="Struct greater">greater</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/greater_equal.html b/doc/html/boost/proto/tag/greater_equal.html new file mode 100755 index 0000000000..d829b49cd2 --- /dev/null +++ b/doc/html/boost/proto/tag/greater_equal.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct greater_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="less_equal.html" title="Struct less_equal"> +<link rel="next" href="equal_to.html" title="Struct 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="less_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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="refentry"> +<a name="boost.proto.tag.greater_equal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct greater_equal</span></h2> +<p>boost::proto::tag::greater_equal — Tag type for the binary >= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="greater_equal.html" title="Struct greater_equal">greater_equal</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_equal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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/doc/html/boost/proto/tag/if_else_.html b/doc/html/boost/proto/tag/if_else_.html new file mode 100755 index 0000000000..3a5fdff743 --- /dev/null +++ b/doc/html/boost/proto/tag/if_else_.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct if_else_</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="subscript.html" title="Struct subscript"> +<link rel="next" href="function.html" title="Struct function"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="subscript.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.if_else_"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct if_else_</span></h2> +<p>boost::proto::tag::if_else_ — Tag type for the ternary ?: conditional operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="if_else_.html" title="Struct if_else_">if_else_</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="subscript.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/less.html b/doc/html/boost/proto/tag/less.html new file mode 100755 index 0000000000..a29754db94 --- /dev/null +++ b/doc/html/boost/proto/tag/less.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct less</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="minus.html" title="Struct minus"> +<link rel="next" href="greater.html" title="Struct greater"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.less"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct less</span></h2> +<p>boost::proto::tag::less — Tag type for the binary < operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="less.html" title="Struct less">less</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="minus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/less_equal.html b/doc/html/boost/proto/tag/less_equal.html new file mode 100755 index 0000000000..489096aec1 --- /dev/null +++ b/doc/html/boost/proto/tag/less_equal.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct less_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="greater.html" title="Struct greater"> +<link rel="next" href="greater_equal.html" title="Struct greater_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="greater.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.less_equal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct less_equal</span></h2> +<p>boost::proto::tag::less_equal — Tag type for the binary <= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="less_equal.html" title="Struct less_equal">less_equal</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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_equal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/logical_and.html b/doc/html/boost/proto/tag/logical_and.html new file mode 100755 index 0000000000..aa79092fa6 --- /dev/null +++ b/doc/html/boost/proto/tag/logical_and.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct logical_and</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="logical_or.html" title="Struct logical_or"> +<link rel="next" href="bitwise_and.html" title="Struct bitwise_and"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.logical_and"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct logical_and</span></h2> +<p>boost::proto::tag::logical_and — Tag type for the binary && operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="logical_and.html" title="Struct logical_and">logical_and</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_or.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/logical_not.html b/doc/html/boost/proto/tag/logical_not.html new file mode 100755 index 0000000000..a0c90c2b92 --- /dev/null +++ b/doc/html/boost/proto/tag/logical_not.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct logical_not</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="address_of.html" title="Struct address_of"> +<link rel="next" href="pre_inc.html" title="Struct pre_inc"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="address_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.logical_not"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct logical_not</span></h2> +<p>boost::proto::tag::logical_not — Tag type for the unary ! operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="logical_not.html" title="Struct logical_not">logical_not</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="address_of.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/logical_or.html b/doc/html/boost/proto/tag/logical_or.html new file mode 100755 index 0000000000..3845b2e69e --- /dev/null +++ b/doc/html/boost/proto/tag/logical_or.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct logical_or</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="not_equal_to.html" title="Struct not_equal_to"> +<link rel="next" href="logical_and.html" title="Struct logical_and"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.logical_or"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct logical_or</span></h2> +<p>boost::proto::tag::logical_or — Tag type for the binary || operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="logical_or.html" title="Struct logical_or">logical_or</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_and.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/mem_ptr.html b/doc/html/boost/proto/tag/mem_ptr.html new file mode 100755 index 0000000000..5f3351c70b --- /dev/null +++ b/doc/html/boost/proto/tag/mem_ptr.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct mem_ptr</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="comma.html" title="Struct comma"> +<link rel="next" href="assign.html" title="Struct assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="comma.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.mem_ptr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct mem_ptr</span></h2> +<p>boost::proto::tag::mem_ptr — Tag type for the binary ->* operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="mem_ptr.html" title="Struct mem_ptr">mem_ptr</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="comma.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/minus.html b/doc/html/boost/proto/tag/minus.html new file mode 100755 index 0000000000..a293fb76e7 --- /dev/null +++ b/doc/html/boost/proto/tag/minus.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct minus</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="plus.html" title="Struct plus"> +<link rel="next" href="less.html" title="Struct less"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.minus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct minus</span></h2> +<p>boost::proto::tag::minus — Tag type for the binary - operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="minus.html" title="Struct minus">minus</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.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.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/minus_assign.html b/doc/html/boost/proto/tag/minus_assign.html new file mode 100755 index 0000000000..b7981ffa9f --- /dev/null +++ b/doc/html/boost/proto/tag/minus_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct minus_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="plus_assign.html" title="Struct plus_assign"> +<link rel="next" href="bitwise_and_assign.html" title="Struct bitwise_and_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.minus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct minus_assign</span></h2> +<p>boost::proto::tag::minus_assign — Tag type for the binary -= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="minus_assign.html" title="Struct minus_assign">minus_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="plus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bitwise_and_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/modulus.html b/doc/html/boost/proto/tag/modulus.html new file mode 100755 index 0000000000..b296abe312 --- /dev/null +++ b/doc/html/boost/proto/tag/modulus.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct modulus</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="divides.html" title="Struct divides"> +<link rel="next" href="plus.html" title="Struct plus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.modulus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct modulus</span></h2> +<p>boost::proto::tag::modulus — Tag type for the binary % operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="modulus.html" title="Struct modulus">modulus</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/modulus_assign.html b/doc/html/boost/proto/tag/modulus_assign.html new file mode 100755 index 0000000000..74cf324eb4 --- /dev/null +++ b/doc/html/boost/proto/tag/modulus_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct modulus_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="divides_assign.html" title="Struct divides_assign"> +<link rel="next" href="plus_assign.html" title="Struct plus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.modulus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct modulus_assign</span></h2> +<p>boost::proto::tag::modulus_assign — Tag type for the binary = operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="modulus_assign.html" title="Struct modulus_assign">modulus_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="divides_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="plus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/multiplies.html b/doc/html/boost/proto/tag/multiplies.html new file mode 100755 index 0000000000..35c4bcef2a --- /dev/null +++ b/doc/html/boost/proto/tag/multiplies.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct multiplies</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="shift_right.html" title="Struct shift_right"> +<link rel="next" href="divides.html" title="Struct divides"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.multiplies"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct multiplies</span></h2> +<p>boost::proto::tag::multiplies — Tag type for the binary * operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="multiplies.html" title="Struct multiplies">multiplies</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/multiplies_assign.html b/doc/html/boost/proto/tag/multiplies_assign.html new file mode 100755 index 0000000000..ec7858de9f --- /dev/null +++ b/doc/html/boost/proto/tag/multiplies_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct multiplies_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="shift_right_assign.html" title="Struct shift_right_assign"> +<link rel="next" href="divides_assign.html" title="Struct divides_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.multiplies_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct multiplies_assign</span></h2> +<p>boost::proto::tag::multiplies_assign — Tag type for the binary *= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="multiplies_assign.html" title="Struct multiplies_assign">multiplies_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_right_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="divides_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/negate.html b/doc/html/boost/proto/tag/negate.html new file mode 100755 index 0000000000..11f5ce654e --- /dev/null +++ b/doc/html/boost/proto/tag/negate.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct negate</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="unary_plus.html" title="Struct unary_plus"> +<link rel="next" href="dereference.html" title="Struct dereference"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dereference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.negate"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct negate</span></h2> +<p>boost::proto::tag::negate — Tag type for the unary - operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="negate.html" title="Struct negate">negate</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="unary_plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dereference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/not_equal_to.html b/doc/html/boost/proto/tag/not_equal_to.html new file mode 100755 index 0000000000..f6041acc18 --- /dev/null +++ b/doc/html/boost/proto/tag/not_equal_to.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct not_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="equal_to.html" title="Struct equal_to"> +<link rel="next" href="logical_or.html" title="Struct logical_or"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.not_equal_to"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct not_equal_to</span></h2> +<p>boost::proto::tag::not_equal_to — Tag type for the binary != operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="not_equal_to.html" title="Struct not_equal_to">not_equal_to</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logical_or.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/plus.html b/doc/html/boost/proto/tag/plus.html new file mode 100755 index 0000000000..ed94bc1a8c --- /dev/null +++ b/doc/html/boost/proto/tag/plus.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct plus</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="modulus.html" title="Struct modulus"> +<link rel="next" href="minus.html" title="Struct minus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.plus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct plus</span></h2> +<p>boost::proto::tag::plus — Tag type for the binary + operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="plus.html" title="Struct plus">plus</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/plus_assign.html b/doc/html/boost/proto/tag/plus_assign.html new file mode 100755 index 0000000000..6c1dcea7a3 --- /dev/null +++ b/doc/html/boost/proto/tag/plus_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct plus_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="modulus_assign.html" title="Struct modulus_assign"> +<link rel="next" href="minus_assign.html" title="Struct minus_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.plus_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct plus_assign</span></h2> +<p>boost::proto::tag::plus_assign — Tag type for the binary += operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="plus_assign.html" title="Struct plus_assign">plus_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="modulus_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minus_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/post_dec.html b/doc/html/boost/proto/tag/post_dec.html new file mode 100755 index 0000000000..78ade377c2 --- /dev/null +++ b/doc/html/boost/proto/tag/post_dec.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct post_dec</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="post_inc.html" title="Struct post_inc"> +<link rel="next" href="shift_left.html" title="Struct shift_left"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.post_dec"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct post_dec</span></h2> +<p>boost::proto::tag::post_dec — Tag type for the unary postfix -- operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="post_dec.html" title="Struct post_dec">post_dec</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_left.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/post_inc.html b/doc/html/boost/proto/tag/post_inc.html new file mode 100755 index 0000000000..4ab3240a84 --- /dev/null +++ b/doc/html/boost/proto/tag/post_inc.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct post_inc</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="pre_dec.html" title="Struct pre_dec"> +<link rel="next" href="post_dec.html" title="Struct post_dec"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.post_inc"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct post_inc</span></h2> +<p>boost::proto::tag::post_inc — Tag type for the unary postfix ++ operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="post_inc.html" title="Struct post_inc">post_inc</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/pre_dec.html b/doc/html/boost/proto/tag/pre_dec.html new file mode 100755 index 0000000000..1291a5421d --- /dev/null +++ b/doc/html/boost/proto/tag/pre_dec.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct pre_dec</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="pre_inc.html" title="Struct pre_inc"> +<link rel="next" href="post_inc.html" title="Struct post_inc"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.pre_dec"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct pre_dec</span></h2> +<p>boost::proto::tag::pre_dec — Tag type for the unary prefix -- operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="pre_dec.html" title="Struct pre_dec">pre_dec</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pre_inc.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post_inc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/pre_inc.html b/doc/html/boost/proto/tag/pre_inc.html new file mode 100755 index 0000000000..5c105a96d2 --- /dev/null +++ b/doc/html/boost/proto/tag/pre_inc.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct pre_inc</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="logical_not.html" title="Struct logical_not"> +<link rel="next" href="pre_dec.html" title="Struct pre_dec"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_not.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.pre_inc"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct pre_inc</span></h2> +<p>boost::proto::tag::pre_inc — Tag type for the unary prefix ++ operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="pre_inc.html" title="Struct pre_inc">pre_inc</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="logical_not.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pre_dec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/shift_left.html b/doc/html/boost/proto/tag/shift_left.html new file mode 100755 index 0000000000..370e95a9b8 --- /dev/null +++ b/doc/html/boost/proto/tag/shift_left.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct shift_left</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="post_dec.html" title="Struct post_dec"> +<link rel="next" href="shift_right.html" title="Struct shift_right"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.shift_left"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct shift_left</span></h2> +<p>boost::proto::tag::shift_left — Tag type for the binary << operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="shift_left.html" title="Struct shift_left">shift_left</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="post_dec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/shift_left_assign.html b/doc/html/boost/proto/tag/shift_left_assign.html new file mode 100755 index 0000000000..ba27f7eba5 --- /dev/null +++ b/doc/html/boost/proto/tag/shift_left_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct shift_left_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="assign.html" title="Struct assign"> +<link rel="next" href="shift_right_assign.html" title="Struct shift_right_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.shift_left_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct shift_left_assign</span></h2> +<p>boost::proto::tag::shift_left_assign — Tag type for the binary <<= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="shift_left_assign.html" title="Struct shift_left_assign">shift_left_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shift_right_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/shift_right.html b/doc/html/boost/proto/tag/shift_right.html new file mode 100755 index 0000000000..0f40fa214a --- /dev/null +++ b/doc/html/boost/proto/tag/shift_right.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct shift_right</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="shift_left.html" title="Struct shift_left"> +<link rel="next" href="multiplies.html" title="Struct multiplies"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.shift_right"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct shift_right</span></h2> +<p>boost::proto::tag::shift_right — Tag type for the binary >> operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="shift_right.html" title="Struct shift_right">shift_right</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/shift_right_assign.html b/doc/html/boost/proto/tag/shift_right_assign.html new file mode 100755 index 0000000000..2154bea0ff --- /dev/null +++ b/doc/html/boost/proto/tag/shift_right_assign.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct shift_right_assign</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="shift_left_assign.html" title="Struct shift_left_assign"> +<link rel="next" href="multiplies_assign.html" title="Struct multiplies_assign"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.shift_right_assign"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct shift_right_assign</span></h2> +<p>boost::proto::tag::shift_right_assign — Tag type for the binary >>= operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="shift_right_assign.html" title="Struct shift_right_assign">shift_right_assign</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="shift_left_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="multiplies_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/subscript.html b/doc/html/boost/proto/tag/subscript.html new file mode 100755 index 0000000000..bb0edd62f1 --- /dev/null +++ b/doc/html/boost/proto/tag/subscript.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct subscript</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="bitwise_xor_assign.html" title="Struct bitwise_xor_assign"> +<link rel="next" href="if_else_.html" title="Struct if_else_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_else_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.subscript"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct subscript</span></h2> +<p>boost::proto::tag::subscript — Tag type for the binary subscript operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="subscript.html" title="Struct subscript">subscript</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="bitwise_xor_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="if_else_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/terminal.html b/doc/html/boost/proto/tag/terminal.html new file mode 100755 index 0000000000..69a62f14a9 --- /dev/null +++ b/doc/html/boost/proto/tag/terminal.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct terminal</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="../../../BOOST_PROTO_a_id1517101.html" title="Macro BOOST_PROTO_a"> +<link rel="next" href="unary_plus.html" title="Struct unary_plus"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_PROTO_a_id1517101.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.terminal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct terminal</span></h2> +<p>boost::proto::tag::terminal — Tag type for terminals; aka, leaves in the expression tree. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="terminal.html" title="Struct terminal">terminal</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_PROTO_a_id1517101.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_plus.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag/unary_plus.html b/doc/html/boost/proto/tag/unary_plus.html new file mode 100755 index 0000000000..200dedfd24 --- /dev/null +++ b/doc/html/boost/proto/tag/unary_plus.html @@ -0,0 +1,51 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct unary_plus</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>"> +<link rel="prev" href="terminal.html" title="Struct terminal"> +<link rel="next" href="negate.html" title="Struct negate"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="terminal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag.unary_plus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct unary_plus</span></h2> +<p>boost::proto::tag::unary_plus — Tag type for the unary + operator. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.tags_hpp" title="Header <boost/proto/tags.hpp>">boost/proto/tags.hpp</a>> + +</span> +<span class="keyword">struct</span> <a class="link" href="unary_plus.html" title="Struct unary_plus">unary_plus</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="terminal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../proto/reference.html#header.boost.proto.tags_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/tag_of.html b/doc/html/boost/proto/tag_of.html new file mode 100755 index 0000000000..84ff9565ed --- /dev/null +++ b/doc/html/boost/proto/tag_of.html @@ -0,0 +1,53 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="is_expr.html" title="Struct template is_expr"> +<link rel="next" href="arity_of.html" title="Struct template arity_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_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="arity_of.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.tag_of"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template tag_of</span></h2> +<p>boost::proto::tag_of — A metafunction that returns the tag type of a Proto expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="tag_of.html" title="Struct template tag_of">tag_of</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">::</span><span class="identifier">proto_tag</span> <a name="boost.proto.tag_of.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="arity_of.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/term.html b/doc/html/boost/proto/term.html new file mode 100755 index 0000000000..3e786c2415 --- /dev/null +++ b/doc/html/boost/proto/term.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template term</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.args_hpp" title="Header <boost/proto/args.hpp>"> +<link rel="prev" href="../../proto/reference.html" title="Reference"> +<link rel="next" href="listN.html" title="Struct template listN"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../../proto/reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.args_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listN.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.term"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template term</span></h2> +<p>boost::proto::term — A type sequence, for use as the 2<sup>nd</sup> parameter to the + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> and + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code> + class templates.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.args_hpp" title="Header <boost/proto/args.hpp>">boost/proto/args.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="term.html" title="Struct template term">term</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">T</span> <a name="boost.proto.term.child0"></a><span class="identifier">child0</span><span class="special">;</span> + + <span class="comment">// public data members</span> + <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">arity</span><span class="special">;</span> <span class="comment">// <code class="computeroutput">= 0;</code></span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2709102"></a><h2>Description</h2> +<p> + A type sequence with one element, for use as the 2<sup>nd</sup> parameter to the + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr<></a></code> and + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr<></a></code> + class templates. The sequence element represents the value of a terminal. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../../proto/reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.args_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listN.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/terminal.html b/doc/html/boost/proto/terminal.html new file mode 100755 index 0000000000..24d2e17dec --- /dev/null +++ b/doc/html/boost/proto/terminal.html @@ -0,0 +1,70 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template terminal</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="is_aggregate.html" title="Struct template is_aggregate"> +<link rel="next" href="terminal/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_aggregate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="terminal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.terminal"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template terminal</span></h2> +<p>boost::proto::terminal — A metafunction for generating terminal expression types, a grammar element for matching + terminal expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that returns the current expression unchanged. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="terminal.html" title="Struct template terminal">terminal</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">terminal</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.terminal.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a><span class="special">,</span> <a class="link" href="term.html" title="Struct template term">proto::term</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.terminal.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="terminal/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a class="link" href="terminal/impl.html#boost.proto.terminal.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="terminal/impl.html#id1519847-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="terminal/impl.html#id1519852-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2813998"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_aggregate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="terminal/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/terminal/impl.html b/doc/html/boost/proto/terminal/impl.html new file mode 100755 index 0000000000..899bcb4712 --- /dev/null +++ b/doc/html/boost/proto/terminal/impl.html @@ -0,0 +1,100 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../terminal.html#id2813998" title="Description"> +<link rel="prev" href="../terminal.html" title="Struct template terminal"> +<link rel="next" href="../if_else_.html" title="Struct template if_else_"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../terminal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../terminal.html#id2813998"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../if_else_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.terminal.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::terminal::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">Expr</span> <a name="boost.proto.terminal.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1519847-bb">public member functions</a></span> + <span class="identifier">Expr</span> <a class="link" href="impl.html#id1519852-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2814314"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2814318"></a><h3> +<a name="id1519847-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">Expr</span> <a name="id1519852-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr></tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, proto::terminal<T> >::value</code> is <code class="computeroutput">true</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">expr</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../terminal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../terminal.html#id2813998"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../if_else_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/transform.html b/doc/html/boost/proto/transform.html new file mode 100755 index 0000000000..8c418a2bee --- /dev/null +++ b/doc/html/boost/proto/transform.html @@ -0,0 +1,166 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>"> +<link rel="prev" href="reverse_fold_tree/impl.html" title="Struct template impl"> +<link rel="next" href="transform/result_This_Expr__id1532491.html" title="Struct template result<This(Expr)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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_tree/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp"><img src="../../../../doc/src/images/up.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/result_This_Expr__id1532491.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.transform"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template transform</span></h2> +<p>boost::proto::transform — Inherit from this to make your type a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>">boost/proto/transform/impl.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="transform.html" title="Struct template transform">transform</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="identifier">PrimitiveTransform</span> <a name="boost.proto.transform.transform_type"></a><span class="identifier">transform_type</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="transform/result_This_Expr__id1532491.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a class="link" href="transform/result_This_Expr__id1532491.html#boost.proto.transform.result_This(Expr)_id1532491.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="transform/result_This_Expr__State_id1532535.html" title="Struct template result<This(Expr, State)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a class="link" href="transform/result_This_Expr__State_id1532535.html#boost.proto.transform.result_This(Expr,_State_id1532535.type"><span class="identifier">type</span></a><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> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="transform/result_This_Expr__State_id1532580.html" title="Struct template result<This(Expr, State, Data)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a class="link" href="transform/result_This_Expr__State_id1532580.html#boost.proto.transform.result_This(Expr,_State_id1532580.type"><span class="identifier">type</span></a><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="transform.html#id1532636-bb">public member functions</a></span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a class="link" href="transform.html#id1532641-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a class="link" href="transform.html#id1532702-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a class="link" href="transform.html#id1532767-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a class="link" href="transform.html#id1532832-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a class="link" href="transform.html#id1532901-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2869748"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2869752"></a><h3> +<a name="id1532636-bb"></a><code class="computeroutput">transform</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a name="id1532641-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"> + typename PrimitiveTransform::template impl<Expr &, <em class="replaceable"><code>unspecified</code></em>, <em class="replaceable"><code>unspecified</code></em>>()(expr, <em class="replaceable"><code>unspecified</code></em>, <em class="replaceable"><code>unspecified</code></em>) + </code></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a name="id1532702-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span> state<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"> + typename PrimitiveTransform::template impl<Expr &, State &, <em class="replaceable"><code>unspecified</code></em>>()(expr, state, <em class="replaceable"><code>unspecified</code></em>) + </code></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a name="id1532767-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span> state<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"> + typename PrimitiveTransform::template impl<Expr &, State const &, <em class="replaceable"><code>unspecified</code></em>>()(expr, state, <em class="replaceable"><code>unspecified</code></em>) + </code></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a name="id1532832-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">State</span> <span class="special">&</span> state<span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"> + typename PrimitiveTransform::template impl<Expr &, State &, Data &>()(expr, state, data) + </code></td> +</tr></tbody> +</table></div> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span><span class="identifier">Expr</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span><span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> + <a name="id1532901-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span> <span class="special">&</span> state<span class="special">,</span> <span class="identifier">Data</span> <span class="special">&</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Returns:</span></p></td> +<td><code class="computeroutput"> + typename PrimitiveTransform::template impl<Expr &, State const &, Data &>()(expr, state, data) + </code></td> +</tr></tbody> +</table></div> +</li> +</ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_tree/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp"><img src="../../../../doc/src/images/up.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/result_This_Expr__id1532491.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/transform/result_This_Expr__State_id1532535.html b/doc/html/boost/proto/transform/result_This_Expr__State_id1532535.html new file mode 100755 index 0000000000..6b8f11f3aa --- /dev/null +++ b/doc/html/boost/proto/transform/result_This_Expr__State_id1532535.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr, State)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../transform.html#id2869748" title="Description"> +<link rel="prev" href="result_This_Expr__id1532491.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="result_This_Expr__State_id1532580.html" title="Struct template result<This(Expr, State, 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="result_This_Expr__id1532491.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr__State_id1532580.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.transform.result_This(Expr,_State_id1532535"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr, State)></span></h2> +<p>boost::proto::transform::result<This(Expr, State)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>">boost/proto/transform/impl.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__State_id1532535.html" title="Struct template result<This(Expr, State)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.transform.result_This(Expr,_State_id1532535.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Expr__id1532491.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr__State_id1532580.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/transform/result_This_Expr__State_id1532580.html b/doc/html/boost/proto/transform/result_This_Expr__State_id1532580.html new file mode 100755 index 0000000000..7712dd5836 --- /dev/null +++ b/doc/html/boost/proto/transform/result_This_Expr__State_id1532580.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr, State, 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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../transform.html#id2869748" title="Description"> +<link rel="prev" href="result_This_Expr__State_id1532535.html" title="Struct template result<This(Expr, State)>"> +<link rel="next" href="../transform_impl.html" title="Struct template transform_impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Expr__State_id1532535.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.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_impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.transform.result_This(Expr,_State_id1532580"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr, State, Data)></span></h2> +<p>boost::proto::transform::result<This(Expr, State, Data)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>">boost/proto/transform/impl.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__State_id1532580.html" title="Struct template result<This(Expr, State, Data)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.transform.result_This(Expr,_State_id1532580.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="result_This_Expr__State_id1532535.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.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_impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/transform/result_This_Expr__id1532491.html b/doc/html/boost/proto/transform/result_This_Expr__id1532491.html new file mode 100755 index 0000000000..0bd4a9cd4d --- /dev/null +++ b/doc/html/boost/proto/transform/result_This_Expr__id1532491.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template result<This(Expr)></title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../transform.html#id2869748" title="Description"> +<link rel="prev" href="../transform.html" title="Struct template transform"> +<link rel="next" href="result_This_Expr__State_id1532535.html" title="Struct template result<This(Expr, State)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</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="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr__State_id1532535.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.transform.result_This(Expr)_id1532491"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template result<This(Expr)></span></h2> +<p>boost::proto::transform::result<This(Expr)></p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>">boost/proto/transform/impl.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> This<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="result_This_Expr__id1532491.html" title="Struct template result<This(Expr)>">result</a><span class="special"><</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">)</span><span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">PrimitiveTransform</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">,</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em> <span class="special">></span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.proto.transform.result_This(Expr)_id1532491.type"></a><span class="identifier">type</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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="../transform.html#id2869748"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_This_Expr__State_id1532535.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/transform_impl.html b/doc/html/boost/proto/transform_impl.html new file mode 100755 index 0000000000..ea5b7b0d1b --- /dev/null +++ b/doc/html/boost/proto/transform_impl.html @@ -0,0 +1,58 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template transform_impl</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>"> +<link rel="prev" href="transform/result_This_Expr__State_id1532580.html" title="Struct template result<This(Expr, State, Data)>"> +<link rel="next" href="integral_c.html" title="Struct template integral_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="transform/result_This_Expr__State_id1532580.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_c.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.transform_impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template transform_impl</span></h2> +<p>boost::proto::transform_impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp" title="Header <boost/proto/transform/impl.hpp>">boost/proto/transform/impl.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">transform_impl</a> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.expr"></a><span class="identifier">expr</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.expr_param"></a><span class="identifier">expr_param</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">State</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.state"></a><span class="identifier">state</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">State</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.state_param"></a><span class="identifier">state_param</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span><span class="identifier">Data</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.data"></a><span class="identifier">data</span><span class="special">;</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_reference</span><span class="special"><</span><span class="identifier">Data</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.transform_impl.data_param"></a><span class="identifier">data_param</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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/result_This_Expr__State_id1532580.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.impl_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integral_c.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unary_expr.html b/doc/html/boost/proto/unary_expr.html new file mode 100755 index 0000000000..9e88271f99 --- /dev/null +++ b/doc/html/boost/proto/unary_expr.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unary_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="nullary_expr/impl.html" title="Struct template impl"> +<link rel="next" href="unary_expr/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="nullary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unary_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unary_expr</span></h2> +<p>boost::proto::unary_expr — A metafunction for generating unary expression types with a specified tag type, + a grammar element for matching unary expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> + that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unary_expr.html" title="Struct template unary_expr">unary_expr</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">unary_expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.unary_expr.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <span class="identifier">Tag</span><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.unary_expr.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="unary_expr/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><unary_expr>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2841341"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::unary_expr<<a class="link" href="_.html" title="Struct _">proto::_</a>, <a class="link" href="_.html" title="Struct _">proto::_</a>></code> + as a grammar element to match any unary expression. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="nullary_expr/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_expr/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unary_expr/impl.html b/doc/html/boost/proto/unary_expr/impl.html new file mode 100755 index 0000000000..b1e0dab33e --- /dev/null +++ b/doc/html/boost/proto/unary_expr/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../unary_expr.html#id2841341" title="Description"> +<link rel="prev" href="../unary_expr.html" title="Struct template unary_expr"> +<link rel="next" href="../binary_expr.html" title="Struct template binary_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unary_expr.html#id2841341"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../binary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unary_expr.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::unary_expr::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><unary_expr>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unary_expr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unary_expr.html#id2841341"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../binary_expr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unary_plus.html b/doc/html/boost/proto/unary_plus.html new file mode 100755 index 0000000000..180555b7a8 --- /dev/null +++ b/doc/html/boost/proto/unary_plus.html @@ -0,0 +1,68 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unary_plus</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="if_else_/impl.html" title="Struct template impl"> +<link rel="next" href="unary_plus/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_else_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_plus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unary_plus"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unary_plus</span></h2> +<p>boost::proto::unary_plus — A metafunction for generating unary plus expression types, + a grammar element for matching unary plus expressions, and + a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that dispatches to the + <code class="computeroutput"><a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through<></a></code> + transform.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unary_plus.html" title="Struct template unary_plus">unary_plus</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a><span class="special"><</span> <span class="identifier">unary_plus</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="expr.html" title="Struct template expr">proto::expr</a><span class="special"><</span> <a class="link" href="tag/unary_plus.html" title="Struct unary_plus">proto::tag::unary_plus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.unary_plus.type"></a><span class="identifier">type</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><span class="special"><</span> <a class="link" href="tag/unary_plus.html" title="Struct unary_plus">proto::tag::unary_plus</a><span class="special">,</span> <a class="link" href="listN.html" title="Struct template listN">proto::list1</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <span class="special">></span> <a name="boost.proto.unary_plus.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="unary_plus/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="pass_through.html" title="Struct template pass_through">proto::pass_through</a><unary_plus>::template impl<Expr, State, Data> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2815538"></a><h2>Description</h2> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="if_else_/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unary_plus/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unary_plus/impl.html b/doc/html/boost/proto/unary_plus/impl.html new file mode 100755 index 0000000000..4782134764 --- /dev/null +++ b/doc/html/boost/proto/unary_plus/impl.html @@ -0,0 +1,54 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../unary_plus.html#id2815538" title="Description"> +<link rel="prev" href="../unary_plus.html" title="Struct template unary_plus"> +<link rel="next" href="../negate.html" title="Struct template negate"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unary_plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unary_plus.html#id2815538"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../negate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unary_plus.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::unary_plus::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> + <span class="keyword"></span> <a class="link" href="../pass_through.html" title="Struct template pass_through">proto::pass_through</a><unary_plus>::template impl<Expr, State, Data> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../unary_plus.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unary_plus.html#id2815538"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../negate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unexpr.html b/doc/html/boost/proto/unexpr.html new file mode 100755 index 0000000000..f9b3bf852e --- /dev/null +++ b/doc/html/boost/proto/unexpr.html @@ -0,0 +1,73 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template unexpr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>"> +<link rel="prev" href="expr/result.html" title="Struct template result"> +<link rel="next" href="is_proto_expr.html" title="Struct is_proto_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="expr/result.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.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_proto_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unexpr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template unexpr</span></h2> +<p>boost::proto::unexpr — Lets you inherit the interface of an expression while hiding from Proto the fact that + the type is a Proto expression.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.expr_hpp" title="Header <boost/proto/expr.hpp>">boost/proto/expr.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="unexpr.html" title="Struct template unexpr">unexpr</a> <span class="special">:</span> <span class="keyword"></span> Expr <span class="special">{</span> + <span class="comment">// <a class="link" href="unexpr.html#boost.proto.unexprconstruct-copy-destruct">construct/copy/destruct</a></span> + <a class="link" href="unexpr.html#id1496708-bb"><span class="identifier">unexpr</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2723001"></a><h2>Description</h2> +<p> + For an expression type <code class="computeroutput">E</code>, + <code class="computeroutput"> + <a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><E>::value + </code> is <code class="computeroutput">true</code>, but + <code class="computeroutput"> + <a class="link" href="is_expr.html" title="Struct template is_expr">proto::is_expr</a><proto::unexpr<E> >::value + </code> is <code class="computeroutput">false</code>. + </p> +<div class="refsect2"> +<a name="id2723056"></a><h3> +<a name="boost.proto.unexprconstruct-copy-destruct"></a><code class="computeroutput">unexpr</code> + public + construct/copy/destruct</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><a name="id1496708-bb"></a><span class="identifier">unexpr</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="expr/result.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.expr_hpp"><img src="../../../../doc/src/images/up.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_proto_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/unpack_expr_id1504094.html b/doc/html/boost/proto/unpack_expr_id1504094.html new file mode 100755 index 0000000000..156a414d49 --- /dev/null +++ b/doc/html/boost/proto/unpack_expr_id1504094.html @@ -0,0 +1,121 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function unpack_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>"> +<link rel="prev" href="make_expr_id1503817.html" title="Function make_expr"> +<link rel="next" href="_.html" title="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="make_expr_id1503817.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.unpack_expr_id1504094"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function unpack_expr</span></h2> +<p>boost::proto::unpack_expr — Construct an expression of the requested tag type with a domain and with children + from the specified Fusion Forward Sequence.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.make_expr_hpp" title="Header <boost/proto/make_expr.hpp>">boost/proto/make_expr.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <span class="identifier">unpack_expr</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> sequence<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> + <span class="identifier">unpack_expr</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&</span> sequence<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2756485"></a><h2>Description</h2> +<p> + This function template may be invoked either with or without specifying a + <code class="computeroutput">Domain</code> argument. If no domain is specified, the domain + is deduced by examining domains of each element of the sequence. See + <code class="computeroutput"><code class="computeroutput"><a class="link" href="deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a></code></code> for a full + description of the procedure used. + </p> +<p> + Let <code class="computeroutput">s</code> be a Fusion RandomAccessSequence equivalent to + <code class="computeroutput">sequence</code>. + Let <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(N, s)</code> be defined such that: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + If <code class="computeroutput">fusion::result_of::value_at_c<decltype(s),N>::type</code> is a reference type + or an instantiation of <code class="computeroutput">boost::reference_wrapper<></code>, + <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(N, s)</code> is equivalent to + <code class="computeroutput"><code class="computeroutput"><a class="link" href="as_child_id1527575.html" title="Function as_child">proto::as_child</a></code><Domain>(fusion::at_c<N>(s))</code>. + </p></li> +<li class="listitem"><p> + Otherwise, <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(N, s)</code> is equivalent to + <code class="computeroutput"><code class="computeroutput"><a class="link" href="as_expr_id1527385.html" title="Function as_expr">proto::as_expr</a></code><Domain>(fusion::at_c<N>(s))</code>. + </p></li> +</ul></div> +<p> + </p> +<p> + If <code class="computeroutput"><code class="computeroutput"><a class="link" href="wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a></code><typename Domain::proto_generator>::value</code> + is true, then let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code></code>; otherwise, + let <code class="computeroutput"><em class="replaceable"><code>E</code></em></code> be + <code class="computeroutput"><code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a></code></code>. + </p> +<p> + Let <code class="computeroutput"><em class="replaceable"><code>MAKE</code></em>(Tag, b...)</code> be defined as + <code class="computeroutput"><em class="replaceable"><code>E</code></em><Tag, + <code class="computeroutput"><a class="link" href="listN.html" title="Struct template listN">proto::listN</a></code><decltype(b)...> >::make(b...)</code>. + </p> +<p> + If <code class="computeroutput">Tag</code> is + <code class="computeroutput"><code class="computeroutput"><a class="link" href="tag/terminal.html" title="Struct terminal">proto::tag::terminal</a></code></code>, then return + <code class="computeroutput"><em class="replaceable"><code>WRAP</code></em>(0, s)</code>. + </p> +<p> + Otherwise, return + <code class="computeroutput">Domain()(<em class="replaceable"><code>MAKE</code></em>(Tag, <em class="replaceable"><code>WRAP</code></em>(0, s),... + <em class="replaceable"><code>WRAP</code></em>(<em class="replaceable"><code>N</code></em>-1, s)))</code>, where + <em class="replaceable"><code>N</code></em> is the size of <code class="computeroutput">Sequence</code>. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><code class="computeroutput">sequence</code></span></p></td> +<td><p>A Fusion Forward Sequence.</p></td> +</tr></tbody> +</table></div></td> +</tr></tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_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_expr_id1503817.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.make_expr_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/use_basic_expr.html b/doc/html/boost/proto/use_basic_expr.html new file mode 100755 index 0000000000..1db8ce8efe --- /dev/null +++ b/doc/html/boost/proto/use_basic_expr.html @@ -0,0 +1,63 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template use_basic_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="compose_generators/result_This_Expr__id1501842.html" title="Struct template result<This(Expr)>"> +<link rel="next" href="wants_basic_expr.html" title="Struct template wants_basic_expr"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="compose_generators/result_This_Expr__id1501842.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wants_basic_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.use_basic_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template use_basic_expr</span></h2> +<p>boost::proto::use_basic_expr</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Generator<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="use_basic_expr.html" title="Struct template use_basic_expr">use_basic_expr</a> <span class="special">:</span> <span class="keyword"></span> Generator <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2748722"></a><h2>Description</h2> +<p> + Annotate a generator to indicate that it would + prefer to be passed instances of + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><></code> rather than + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a><></code>. + </p> +<p> + <code class="computeroutput">use_basic_expr< Generator ></code> is itself a generator. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="compose_generators/result_This_Expr__id1501842.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wants_basic_expr.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/value_id1528169.html b/doc/html/boost/proto/value_id1528169.html new file mode 100755 index 0000000000..d0d184a9ea --- /dev/null +++ b/doc/html/boost/proto/value_id1528169.html @@ -0,0 +1,80 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Function value</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>"> +<link rel="prev" href="child_c_id1528008.html" title="Function child_c"> +<link rel="next" href="left_id1528275.html" title="Function left"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_c_id1528008.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left_id1528275.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.value_id1528169"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Function value</span></h2> +<p>boost::proto::value — Return the value stored within the specified Proto terminal expression. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.traits_hpp" title="Header <boost/proto/traits.hpp>">boost/proto/traits.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">></span> + <span class="keyword">typename</span> <a class="link" href="result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special"><</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="identifier">value</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&</span> expr<span class="special">)</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2845449"></a><h2>Description</h2> +<p> + Return the the value stored within the specified Proto terminal expression. The value is + returned by reference. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput">0 == Expr::proto_arity::value</code> + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p>A reference to the terminal's value </p></td> +</tr> +<tr> +<td><p><span class="term">Throws:</span></p></td> +<td>Will not throw.</td> +</tr> +</tbody> +</table></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="child_c_id1528008.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.traits_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="left_id1528275.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/vararg.html b/doc/html/boost/proto/vararg.html new file mode 100755 index 0000000000..2e860983a7 --- /dev/null +++ b/doc/html/boost/proto/vararg.html @@ -0,0 +1,81 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template vararg</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>"> +<link rel="prev" href="convertible_to.html" title="Struct template convertible_to"> +<link rel="next" href="matches.html" title="Struct template matches"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="convertible_to.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="matches.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.vararg"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template vararg</span></h2> +<p>boost::proto::vararg — For matching a Grammar to a variable number of sub-expressions.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.matches_hpp" title="Header <boost/proto/matches.hpp>">boost/proto/matches.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="vararg.html" title="Struct template vararg">vararg</a> <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2765745"></a><h2>Description</h2> +<p> + An expression type <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><AT, + <a class="link" href="listN.html" title="Struct template listN">proto::listN</a><A<sub>0</sub>,...A<sub>n</sub>,U<sub>0</sub>,...U<sub>m</sub>> ></code> + matches a grammar <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><BT, + <a class="link" href="listN.html" title="Struct template listN">proto::listM</a><B<sub>0</sub>,...B<sub>n</sub>,proto::vararg<V> > ></code> + if <code class="computeroutput">BT</code> is <code class="computeroutput"><a class="link" href="_.html" title="Struct _">proto::_</a></code> + or <code class="computeroutput">AT</code>, and if + <code class="computeroutput">A<sub>x</sub></code> matches + <code class="computeroutput">B<sub>x</sub></code> + for each <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code> + and if <code class="computeroutput">U<sub>x</sub></code> matches + <code class="computeroutput">V</code> for each <code class="computeroutput">x</code> in <code class="computeroutput">[0,m]</code>. + </p> +<p>For example:</p> +<p> + </p> +<pre class="programlisting"><span class="comment">// Match any function call expression, regardless</span> +<span class="comment">// of the number of function arguments:</span> +<span class="keyword">struct</span> <span class="identifier">Function</span> <span class="special">:</span> + <a class="link" href="function.html" title="Struct template function">proto::function</a><span class="special"><</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">vararg</span><span class="special"><</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span> <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + When used as a transform, <code class="computeroutput">proto::vararg<G></code> + applies <code class="computeroutput">G</code>'s transform. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="convertible_to.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.matches_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="matches.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/wants_basic_expr.html b/doc/html/boost/proto/wants_basic_expr.html new file mode 100755 index 0000000000..6970a72538 --- /dev/null +++ b/doc/html/boost/proto/wants_basic_expr.html @@ -0,0 +1,60 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template wants_basic_expr</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>"> +<link rel="prev" href="use_basic_expr.html" title="Struct template use_basic_expr"> +<link rel="next" href="literal.html" title="Struct template literal"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="use_basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="literal.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.wants_basic_expr"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template wants_basic_expr</span></h2> +<p>boost::proto::wants_basic_expr</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.generate_hpp" title="Header <boost/proto/generate.hpp>">boost/proto/generate.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Generator<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="wants_basic_expr.html" title="Struct template wants_basic_expr">wants_basic_expr</a> <span class="special">:</span> <span class="keyword"></span> mpl::bool_< <em class="replaceable"><code>true-or-false</code></em> > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2748860"></a><h2>Description</h2> +<p> + A Boolean metafunction that tests a generator to see whether + it would prefer to be passed instances of + <code class="computeroutput"><a class="link" href="basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a><></code> rather than + <code class="computeroutput"><a class="link" href="expr.html" title="Struct template expr">proto::expr</a><></code>. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="use_basic_expr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.generate_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="literal.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when.html b/doc/html/boost/proto/when.html new file mode 100755 index 0000000000..80f6f09c0e --- /dev/null +++ b/doc/html/boost/proto/when.html @@ -0,0 +1,87 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template when</title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="pass_through/impl.html" title="Struct template impl"> +<link rel="next" href="when_Grammar__Fun_id1535641.html" title="Struct template when<Grammar, Fun *>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pass_through/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__Fun_id1535641.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template when</span></h2> +<p>boost::proto::when — A grammar element and a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> that associates + a transform with the grammar.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> <span class="special">=</span> <span class="identifier">Grammar</span><span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="when.html" title="Struct template when">when</a> <span class="special">:</span> <span class="keyword"></span> PrimitiveTransform <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Grammar</span><span class="special">::</span><span class="identifier">proto_grammar</span> <a name="boost.proto.when.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2882879"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::when<></code> to override a grammar's default + transform with a custom transform. It is for used when composing larger transforms by + associating smaller transforms with individual rules in your grammar, as in the following + transform which counts the number of terminals in an expression. + </p> +<pre class="programlisting"><span class="comment">// Count the terminals in an expression tree.</span> +<span class="comment">// Must be invoked with initial state == mpl::int_<0>().</span> +<span class="keyword">struct</span> <span class="identifier">CountLeaves</span> <span class="special">:</span> + <a class="link" href="or_.html" title="Struct template or_">proto::or_</a><span class="special"><</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">when</span><span class="special"><</span><a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">></span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">next</span><span class="special"><</span><a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">></span><span class="special">,</span> + <span class="identifier">proto</span><span class="special">::</span><span class="identifier">otherwise</span><span class="special"><</span><a class="link" href="fold.html" title="Struct template fold">proto::fold</a><span class="special"><</span><a class="link" href="_.html" title="Struct _">proto::_</a><span class="special">,</span> <a class="link" href="_state.html" title="Struct _state">proto::_state</a><span class="special">,</span> <span class="identifier">CountLeaves</span><span class="special">></span> <span class="special">></span> + <span class="special">></span> +<span class="special">{</span><span class="special">}</span><span class="special">;</span></pre> +<p> + </p> +<p> + In <code class="computeroutput">proto::when<G, T></code>, when <code class="computeroutput">T</code> + is a class type it is a <a class="link" href="../../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> and the following equivalencies hold: + </p> +<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<li class="listitem"><p> + <code class="computeroutput">boost::result_of<proto::when<G,T>(E,S,V)>::type</code> is the same as + <code class="computeroutput">boost::result_of<T(E,S,V)>::type</code>. + </p></li> +<li class="listitem"><p> + <code class="computeroutput">proto::when<G,T>()(e,s,d)</code> is the same as + <code class="computeroutput">T()(e,s,d)</code>. + </p></li> +</ul></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="pass_through/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__Fun_id1535641.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when_Grammar__Fun_id1535641.html b/doc/html/boost/proto/when_Grammar__Fun_id1535641.html new file mode 100755 index 0000000000..81bda368d3 --- /dev/null +++ b/doc/html/boost/proto/when_Grammar__Fun_id1535641.html @@ -0,0 +1,66 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template when<Grammar, Fun *></title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="when.html" title="Struct template when"> +<link rel="next" href="when_Grammar__R_A___id1535725.html" title="Struct template when<Grammar, R(A...)>"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__R_A___id1535725.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when_Grammar,_Fun_id1535641"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template when<Grammar, Fun *></span></h2> +<p>boost::proto::when<Grammar, Fun *> — A specialization that treats function pointer <a class="link" href="../../Transform.html" title="Concept Transform">Transform</a>s as if they + were function type <a class="link" href="../../Transform.html" title="Concept Transform">Transform</a>s.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="when_Grammar__Fun_id1535641.html" title="Struct template when<Grammar, Fun *>">when</a><span class="special"><</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">Fun</span> <span class="special">*</span><span class="special">></span> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="when.html" title="Struct template when">proto::when</a>< Grammar, Fun > <span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2883613"></a><h2>Description</h2> +<p> + This specialization requires that <code class="computeroutput">Fun</code> is actually a function type. + </p> +<p> + This specialization is required for nested transforms such as + <code class="computeroutput">proto::when<G, T0(T1(_))></code>. In C++, functions that are used + as parameters to other functions automatically decay to funtion pointer types. In other words, the + type <code class="computeroutput">T0(T1(_))</code> is indistinguishable from + <code class="computeroutput">T0(T1(*)(_))</code>. This specialization is required to handle these + nested function pointer type transforms properly. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__R_A___id1535725.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when_Grammar__R_A___id1535725.html b/doc/html/boost/proto/when_Grammar__R_A___id1535725.html new file mode 100755 index 0000000000..71442b4242 --- /dev/null +++ b/doc/html/boost/proto/when_Grammar__R_A___id1535725.html @@ -0,0 +1,88 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template when<Grammar, R(A...)></title> +<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="when_Grammar__Fun_id1535641.html" title="Struct template when<Grammar, Fun *>"> +<link rel="next" href="when_Grammar__R_A___id1535725/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when_Grammar__Fun_id1535641.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__R_A___id1535725/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when_Grammar,_R(A_)_id1535725"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template when<Grammar, R(A...)></span></h2> +<p>boost::proto::when<Grammar, R(A...)> — A grammar element and a <a class="link" href="../../Transform.html" title="Concept Transform">Transform</a> that associates a + transform with the grammar. </p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> R<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="when_Grammar__R_A___id1535725.html" title="Struct template when<Grammar, R(A...)>">when</a><span class="special"><</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">R</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"></span> <a class="link" href="transform.html" title="Struct template transform">proto::transform</a>< when<Grammar, R(A...)> > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Grammar</span><span class="special">::</span><span class="identifier">proto_grammar</span> <a name="boost.proto.when_Grammar,_R(A_)_id1535725.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="call.html" title="Struct template call">proto::call</a><span class="special"><</span><span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">)</span><span class="special">></span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html#boost.proto.when_Grammar,_R(A_)_id1535725.impl.call_"><span class="identifier">call_</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="make.html" title="Struct template make">proto::make</a><span class="special"><</span><span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">)</span><span class="special">></span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html#boost.proto.when_Grammar,_R(A_)_id1535725.impl.make_"><span class="identifier">make_</span></a><span class="special">;</span> <span class="comment">// For exposition only</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><a class="link" href="is_callable.html" title="Struct template is_callable">proto::is_callable</a><span class="special"><</span><span class="identifier">R</span><span class="special">></span><span class="special">,</span><span class="identifier">call_</span><span class="special">,</span><span class="identifier">make_</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html#boost.proto.when_Grammar,_R(A_)_id1535725.impl.which"><span class="identifier">which</span></a><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">which</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html#boost.proto.when_Grammar,_R(A_)_id1535725.impl.result_type"><span class="identifier">result_type</span></a><span class="special">;</span> + + <span class="comment">// <a class="link" href="when_Grammar__R_A___id1535725/impl.html#id1535928-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="when_Grammar__R_A___id1535725/impl.html#id1535933-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2884442"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::when<></code> to override a grammar's default + transform with a custom transform. It is for use when composing larger transforms by associating + smaller transforms with individual rules in your grammar. + </p> +<p> + The <code class="computeroutput">when<G, R(A...)></code> form accepts either a + <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a> or an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> as its + second parameter. <code class="computeroutput">proto::when<></code> uses + <code class="computeroutput"><a class="link" href="is_callable.html" title="Struct template is_callable">proto::is_callable</a><R>::value</code> to + distinguish between the two, and uses + <code class="computeroutput"><a class="link" href="call.html" title="Struct template call">proto::call<></a></code> to evaluate + <a class="link" href="../../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a>s and + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make<></a></code> to evaluate + <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>s. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when_Grammar__Fun_id1535641.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__R_A___id1535725/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when_Grammar__R_A___id1535725/impl.html b/doc/html/boost/proto/when_Grammar__R_A___id1535725/impl.html new file mode 100755 index 0000000000..65fa7c6625 --- /dev/null +++ b/doc/html/boost/proto/when_Grammar__R_A___id1535725/impl.html @@ -0,0 +1,119 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../when_Grammar__R_A___id1535725.html#id2884442" title="Description"> +<link rel="prev" href="../when_Grammar__R_A___id1535725.html" title="Struct template when<Grammar, R(A...)>"> +<link rel="next" href="../when_Grammar__id1536082.html" title="Struct template when<Grammar, proto::external_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="../when_Grammar__R_A___id1535725.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../when_Grammar__R_A___id1535725.html#id2884442"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../when_Grammar__id1536082.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when_Grammar,_R(A_)_id1535725.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::when<Grammar, R(A...)>::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> <a class="link" href="../transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a>< Expr, State, Data > <span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <a class="link" href="../call.html" title="Struct template call">proto::call</a><span class="special"><</span><span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">)</span><span class="special">></span> <a name="boost.proto.when_Grammar,_R(A_)_id1535725.impl.call_"></a><span class="identifier">call_</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <a class="link" href="../make.html" title="Struct template make">proto::make</a><span class="special"><</span><span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">)</span><span class="special">></span> <a name="boost.proto.when_Grammar,_R(A_)_id1535725.impl.make_"></a><span class="identifier">make_</span><span class="special">;</span> <span class="comment">// For exposition only</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><a class="link" href="../is_callable.html" title="Struct template is_callable">proto::is_callable</a><span class="special"><</span><span class="identifier">R</span><span class="special">></span><span class="special">,</span><span class="identifier">call_</span><span class="special">,</span><span class="identifier">make_</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.when_Grammar,_R(A_)_id1535725.impl.which"></a><span class="identifier">which</span><span class="special">;</span> <span class="comment">// For exposition only</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">which</span><span class="special">(</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span><span class="special">)</span><span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.proto.when_Grammar,_R(A_)_id1535725.impl.result_type"></a><span class="identifier">result_type</span><span class="special">;</span> + + <span class="comment">// <a class="link" href="impl.html#id1535928-bb">public member functions</a></span> + <span class="identifier">result_type</span> <a class="link" href="impl.html#id1535933-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span><span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2885128"></a><h2>Description</h2> +<div class="refsect2"> +<a name="id2885131"></a><h3> +<a name="id1535928-bb"></a><code class="computeroutput">impl</code> public member functions</h3> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> +<pre class="literallayout"><span class="identifier">result_type</span> <a name="id1535933-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">expr_param</span> expr<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">state_param</span> state<span class="special">,</span> + <span class="keyword">typename</span> <span class="identifier">impl</span><span class="special">::</span><span class="identifier">data_param</span> data<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<p> + Evaluate <code class="computeroutput">R(A...)</code> as a transform either with + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../call.html" title="Struct template call">proto::call<></a></code></code> or with + <code class="computeroutput"><code class="computeroutput"><a class="link" href="../make.html" title="Struct template make">proto::make<></a></code></code> depending + on whether <code class="computeroutput"><code class="computeroutput"><a class="link" href="../is_callable.html" title="Struct template is_callable">proto::is_callable</a></code><R>::value</code> + is <code class="computeroutput">true</code> or <code class="computeroutput">false</code>. + </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term">Parameters:</span></p></td> +<td><div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><code class="computeroutput">data</code></span></p></td> +<td><p>An arbitrary data </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">expr</code></span></p></td> +<td><p>The current expression </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="computeroutput">state</code></span></p></td> +<td><p>The current state </p></td> +</tr> +</tbody> +</table></div></td> +</tr> +<tr> +<td><p><span class="term">Requires:</span></p></td> +<td><p> + <code class="computeroutput"><a class="link" href="../matches.html" title="Struct template matches">proto::matches</a><Expr, Grammar>::value</code> + is <code class="computeroutput">true</code>. + </p></td> +</tr> +<tr> +<td><p><span class="term">Returns:</span></p></td> +<td><p> + <code class="computeroutput">which()(expr, state, data)</code> + </p></td> +</tr> +</tbody> +</table></div> +</li></ol></div> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../when_Grammar__R_A___id1535725.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../when_Grammar__R_A___id1535725.html#id2884442"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../when_Grammar__id1536082.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when_Grammar__id1536082.html b/doc/html/boost/proto/when_Grammar__id1536082.html new file mode 100755 index 0000000000..bef1d4e03a --- /dev/null +++ b/doc/html/boost/proto/when_Grammar__id1536082.html @@ -0,0 +1,86 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template when<Grammar, proto::external_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="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>"> +<link rel="prev" href="when_Grammar__R_A___id1535725/impl.html" title="Struct template impl"> +<link rel="next" href="when_Grammar__id1536082/impl.html" title="Struct template impl"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> +<td align="center"><a href="../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when_Grammar__R_A___id1535725/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__id1536082/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when_Grammar,_id1536082"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template when<Grammar, proto::external_transform></span></h2> +<p>boost::proto::when<Grammar, > — A grammar element that associates an externally-specified transform with the grammar. + The transform is looked up in the Data parameter using the Grammar as a key.</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Grammar<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="when_Grammar__id1536082.html" title="Struct template when<Grammar, proto::external_transform>">when</a><span class="special"><</span><span class="identifier">Grammar</span><span class="special">,</span> <a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a><span class="special">></span> <span class="special">:</span> + <span class="keyword"></span> + <a class="link" href="transform.html" title="Struct template transform">proto::transform</a>< when<Grammar, <a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a>> > +<span class="special">{</span> + <span class="comment">// types</span> + <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Grammar</span><span class="special">::</span><span class="identifier">proto_grammar</span> <a name="boost.proto.when_Grammar,_id1536082.proto_grammar"></a><span class="identifier">proto_grammar</span><span class="special">;</span> + + <span class="comment">// member classes/structs/unions</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="when_Grammar__id1536082/impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Data</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">when</span><span class="special"><</span> <span class="identifier">Grammar</span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> + <span class="special">{</span> + <span class="special">}</span><span class="special">;</span> +<span class="special">}</span><span class="special">;</span></pre></div> +<div class="refsect1"> +<a name="id2885820"></a><h2>Description</h2> +<p> + Use <code class="computeroutput">proto::when<></code> to override a grammar's default + transform with a custom transform. It is for use when composing larger transforms by associating + smaller transforms with individual rules in your grammar. + </p> +<p> + The <code class="computeroutput">when<G, <a class="link" href="external_transform.html" title="Struct external_transform">proto::external_transform</a>></code> + indicates that the associated transform is not yet known. It should be looked up when the transform + is about to be applied. It is found by looking it up in the passed-in Data parameter, which + behaves like a compile-time map from grammar types to transform types. The map is indexed using + <code class="computeroutput">Grammar</code> as a key. The associated value type is used as the transform + to apply. In this way, the same grammar can be used to define multiple evaluating strategies that + can be added post-hoc. + </p> +<p> + See <code class="computeroutput"><a class="link" href="external_transforms.html" title="Struct template external_transforms">proto::external_transforms</a></code> for an example. + </p> +</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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="when_Grammar__R_A___id1535725/impl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.when_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="when_Grammar__id1536082/impl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/doc/html/boost/proto/when_Grammar__id1536082/impl.html b/doc/html/boost/proto/when_Grammar__id1536082/impl.html new file mode 100755 index 0000000000..92fd397cc4 --- /dev/null +++ b/doc/html/boost/proto/when_Grammar__id1536082/impl.html @@ -0,0 +1,56 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>Struct template impl</title> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../when_Grammar__id1536082.html#id2885820" title="Description"> +<link rel="prev" href="../when_Grammar__id1536082.html" title="Struct template when<Grammar, proto::external_transform>"> +<link rel="next" href="../otherwise.html" title="Struct template otherwise"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<td align="center"><a href="../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../when_Grammar__id1536082.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../when_Grammar__id1536082.html#id2885820"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../otherwise.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="refentry"> +<a name="boost.proto.when_Grammar,_id1536082.impl"></a><div class="titlepage"></div> +<div class="refnamediv"> +<h2><span class="refentrytitle">Struct template impl</span></h2> +<p>boost::proto::when<Grammar, >::impl</p> +</div> +<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../proto/reference.html#header.boost.proto.transform.when_hpp" title="Header <boost/proto/transform/when.hpp>">boost/proto/transform/when.hpp</a>> + +</span> +<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">></span> +<span class="keyword">struct</span> <a class="link" href="impl.html" title="Struct template impl">impl</a> <span class="special">:</span> <span class="keyword"></span> + <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special"><</span> <span class="identifier">Data</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">when</span><span class="special"><</span> <span class="identifier">Grammar</span> <span class="special">></span> + <span class="special">::</span><span class="keyword">template</span> <span class="identifier">impl</span><span class="special"><</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">Data</span> <span class="special">></span> +<span class="special">{</span> +<span class="special">}</span><span class="special">;</span></pre></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 © 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="../when_Grammar__id1536082.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../when_Grammar__id1536082.html#id2885820"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../otherwise.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> |