|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r64644 - in sandbox/statistics/support/libs/assign/v2: doc/html example src test/put test/ref test/unit_testing
From: erwann.rogard_at_[hidden]
Date: 2010-08-06 14:00:39
Author: e_r
Date: 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
New Revision: 64644
URL: http://svn.boost.org/trac/boost/changeset/64644
Log:
misc update
Text files modified:
sandbox/statistics/support/libs/assign/v2/doc/html/index.html | 4259 +++++++++++++++++++++++++--------------
sandbox/statistics/support/libs/assign/v2/example/tutorial.cpp | 11
sandbox/statistics/support/libs/assign/v2/src/main.cpp | 10
sandbox/statistics/support/libs/assign/v2/test/put/put_wrapper.cpp | 10
sandbox/statistics/support/libs/assign/v2/test/ref/convert_traits.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp | 2
sandbox/statistics/support/libs/assign/v2/test/unit_testing/ref.cpp | 12
8 files changed, 2756 insertions(+), 1552 deletions(-)
Modified: sandbox/statistics/support/libs/assign/v2/doc/html/index.html
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/doc/html/index.html (original)
+++ sandbox/statistics/support/libs/assign/v2/doc/html/index.html 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -59,26 +59,60 @@
interface and design</a></span></dt>
<dt><span class="section">Reference</span></dt>
<dd><dl>
-<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.overload_resolution">Overload
- resolution</a></span></dt>
-<dt><span class="section">Keywords</span></dt>
+<dt><span class="section">Concept</span></dt>
<dd><dl>
-<dt><span class="section">_deduce</span></dt>
-<dt><span class="section">_fun</span></dt>
-<dt><span class="section">_nil</span></dt>
-<dt><span class="section">_unwrap</span></dt>
-<dt><span class="section">_incr_lookup</span></dt>
-<dt><span class="section">_repeat</span></dt>
-<dt><span class="section">_put_tag</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.ref_assign">
+ Reference assignment</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.container_convertible">
+ <code class="literal">ContainerConvertible</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.fun_syntax">
+ Function syntax</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.range_lvalue">
+ <code class="computeroutput">RangeLvalue</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Configuration</span></dt>
+<dt><span class="section">Class</span></dt>
+<dd><dl>
+<dt><span class="section"> anon_aux::cont
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.put_wrapper">
+ <code class="computeroutput">put_aux::put_wrapper</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_anon_cont">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::cont</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::fast_alloc</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_interface">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::interface</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Function</span></dt>
+<dd><dl>
+<dt><span class="section"> anon
</span></dt>
+<dt><span class="section"> _chain
</span></dt>
+<dt><span class="section"> convert
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.constructor">
+ <code class="computeroutput">constructor</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.put_range">
+ <code class="computeroutput">put_range</code></a></span></dt>
+<dt><span class="section"> put
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_anon">
+ <code class="computeroutput">ref<span class="special">::</span>anon</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_csv_anon">
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Keyword</span></dt>
+<dd><dl>
+<dt><span class="section"> _deduce
</span></dt>
+<dt><span class="section"> _fun
</span></dt>
+<dt><span class="section"> _nil
</span></dt>
+<dt><span class="section"> _unwrap
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.keyword.incr_lookup">
+ <code class="computeroutput">_incr_lookup</code></a></span></dt>
+<dt><span class="section"> _repeat
</span></dt>
+<dt><span class="section"> _put_tag
</span></dt>
</dl></dd>
-<dt><span class="section">anon
</span></dt>
-<dt><span class="section">chain</span></dt>
-<dt><span class="section">convert
</span></dt>
-<dt><span class="section">put_range
</span></dt>
-<dt><span class="section">put_wrapper
</span></dt>
-<dt><span class="section">ref::anon
</span></dt>
</dl></dd>
<dt><span class="section">Portability </span></dt>
+<dt><span class="section">Bug</span></dt>
+<dt><span class="section">Feature request</span></dt>
<dt><span class="section">Change log</span></dt>
<dt><span class="section">Support</span></dt>
<dt><span class="section"><a href="index.html#boost_assign_v2._.history_and_acknowledgement">History
@@ -111,36 +145,66 @@
interface and design</a></span></dt>
<dt><span class="section">Reference</span></dt>
<dd><dl>
-<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.overload_resolution">Overload
- resolution</a></span></dt>
-<dt><span class="section">Keywords</span></dt>
+<dt><span class="section">Concept</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.ref_assign">
+ Reference assignment</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.container_convertible">
+ <code class="literal">ContainerConvertible</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.fun_syntax">
+ Function syntax</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.range_lvalue">
+ <code class="computeroutput">RangeLvalue</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Configuration</span></dt>
+<dt><span class="section">Class</span></dt>
+<dd><dl>
+<dt><span class="section"> anon_aux::cont
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.put_wrapper">
+ <code class="computeroutput">put_aux::put_wrapper</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_anon_cont">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::cont</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::fast_alloc</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_interface">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::interface</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Function</span></dt>
+<dd><dl>
+<dt><span class="section"> anon
</span></dt>
+<dt><span class="section"> _chain
</span></dt>
+<dt><span class="section"> convert
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.constructor">
+ <code class="computeroutput">constructor</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.put_range">
+ <code class="computeroutput">put_range</code></a></span></dt>
+<dt><span class="section"> put
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_anon">
+ <code class="computeroutput">ref<span class="special">::</span>anon</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_csv_anon">
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Keyword</span></dt>
<dd><dl>
-<dt><span class="section">_deduce</span></dt>
-<dt><span class="section">_fun</span></dt>
-<dt><span class="section">_nil</span></dt>
-<dt><span class="section">_unwrap</span></dt>
-<dt><span class="section">_incr_lookup</span></dt>
-<dt><span class="section">_repeat</span></dt>
-<dt><span class="section">_put_tag</span></dt>
+<dt><span class="section"> _deduce
</span></dt>
+<dt><span class="section"> _fun
</span></dt>
+<dt><span class="section"> _nil
</span></dt>
+<dt><span class="section"> _unwrap
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.keyword.incr_lookup">
+ <code class="computeroutput">_incr_lookup</code></a></span></dt>
+<dt><span class="section"> _repeat
</span></dt>
+<dt><span class="section"> _put_tag
</span></dt>
</dl></dd>
-<dt><span class="section">anon
</span></dt>
-<dt><span class="section">chain</span></dt>
-<dt><span class="section">convert
</span></dt>
-<dt><span class="section">put_range
</span></dt>
-<dt><span class="section">put_wrapper
</span></dt>
-<dt><span class="section">ref::anon
</span></dt>
</dl></dd>
<dt><span class="section">Portability </span></dt>
+<dt><span class="section">Bug</span></dt>
+<dt><span class="section">Feature request</span></dt>
<dt><span class="section">Change log</span></dt>
<dt><span class="section">Support</span></dt>
<dt><span class="section"><a href="index.html#boost_assign_v2._.history_and_acknowledgement">History
and acknowledgement</a></span></dt>
<dt><span class="section">Bibliography</span></dt>
</dl></div>
-<p>
- Question to QBK authors : Without this dummy enclosing section (_), layout
- is messy. Why?
- </p>
<div class="section" title="Introduction">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_assign_v2._.introduction"></a><a class="link" href="index.html#boost_assign_v2._.introduction" title="Introduction">Introduction</a>
@@ -409,11 +473,17 @@
</tbody>
</table></div>
</div>
-<br class="table-break"><p>
- Note that if <code class="literal">k = 0</code>, in the context of a function call,
- it means that <code class="computeroutput"><span class="identifier">f</span><span class="special">()</span></code>
- is called. In the context of constructing <code class="computeroutput">t</code>, `t_()' is called.
- </p>
+<br class="table-break"><div class="note" title="Note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If <code class="literal">k = 0</code>, in the context of a function call, it means
+ that <code class="computeroutput"><span class="identifier">f</span><span class="special">()</span></code>
+ is called. In the context of constructing <code class="computeroutput">t</code>, <code class="computeroutput">t_<span class="special">()</span></code> is called.
+ </p></td></tr>
+</table></div>
</div>
<div class="section" title="Tutorial">
<div class="titlepage"><div><div><h3 class="title">
@@ -481,7 +551,8 @@
<p>
</p>
-<pre class="programlisting">put_wrapper<span class="special">(</span> queue <span class="special">).</span>csv<span class="special">(</span> a <span class="special">)(</span> t_<span class="special">()</span> <span class="special">)(</span> t<span class="special">(</span> c<span class="special">[</span><span class="number">0</span><span class="special">],</span> c<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span> <span class="special">)</span>
+<pre class="programlisting"><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> queue <span class="special">)</span>
+ <span class="special">.</span>csv<span class="special">(</span> a <span class="special">)(</span> t_<span class="special">()</span> <span class="special">)(</span> t<span class="special">(</span> c<span class="special">[</span><span class="number">0</span><span class="special">],</span> c<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span> <span class="special">)</span>
</pre>
<p>
</p>
@@ -490,7 +561,8 @@
<p>
</p>
-<pre class="programlisting">put_wrapper<span class="special">(</span> queue <span class="special">)(</span> a <span class="special">)()(</span> c<span class="special">[</span><span class="number">0</span><span class="special">],</span> c<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">);</span>
+<pre class="programlisting"><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> queue <span class="special">)</span>
+ <span class="special">(</span> a <span class="special">)()(</span> c<span class="special">[</span><span class="number">0</span><span class="special">],</span> c<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">);</span>
</pre>
<p>
</p>
@@ -501,7 +573,8 @@
<p>
</p>
-<pre class="programlisting">map<span class="special">[</span> a <span class="special">]</span> <span class="special">+=</span><span class="number">2</span> <span class="special">;</span> <span class="special">++</span>map<span class="special">[</span> b <span class="special">];</span>
+<pre class="programlisting">map<span class="special">[</span> a <span class="special">]</span> <span class="special">+=</span><span class="number">2</span> <span class="special">;</span>
+<span class="special">++</span>map<span class="special">[</span> b <span class="special">];</span>
</pre>
<p>
</p>
@@ -510,7 +583,8 @@
<p>
</p>
-<pre class="programlisting"><span class="special">(</span> put_wrapper<span class="special">(</span> map <span class="special">)</span> <span class="special">%</span> _incr_lookup<span class="special">).</span>csv<span class="special">(</span> a<span class="special">,</span> b<span class="special">,</span> a <span class="special">);</span>
+<pre class="programlisting"><span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> map <span class="special">)</span> <span class="special">%</span> <a class="link" href="index.html#boost_assign_v2._.reference.keyword.incr_lookup" title="_incr_lookup">_incr_lookup</a><span class="special">)</span>
+ <span class="special">.</span>csv<span class="special">(</span> a<span class="special">,</span> b<span class="special">,</span> a <span class="special">);</span>
</pre>
<p>
</p>
@@ -519,7 +593,8 @@
<p>
</p>
-<pre class="programlisting"><span class="special">(</span> put_wrapper<span class="special">(</span> map <span class="special">)(</span> b <span class="special">)</span> <span class="special">%</span> _incr_lookup <span class="special">%</span> <span class="special">(</span> _repeat <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">)(</span> a <span class="special">);</span>
+<pre class="programlisting"><span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> map <span class="special">)</span>
+ <span class="special">(</span> b <span class="special">)</span> <span class="special">%</span> <a class="link" href="index.html#boost_assign_v2._.reference.keyword.incr_lookup" title="_incr_lookup">_incr_lookup</a> <span class="special">%</span> <span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.keyword.repeat" title="_repeat">_repeat</a> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">)(</span> a <span class="special">);</span>
</pre>
<p>
</p>
@@ -542,8 +617,8 @@
</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> boost::lambda<span class="special">;</span>
-<span class="special">(</span> put_wrapper<span class="special">(</span> deque <span class="special">)</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">_fun</span> <span class="special">=</span> <span class="identifier">bind</span><span class="special"><</span>tuple_<span class="special">>(</span>
- constructor<span class="special"><</span>tuple_<span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> a<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
+<span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> deque <span class="special">)</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">_fun</span> <span class="special">=</span> <span class="identifier">bind</span><span class="special"><</span>tuple_<span class="special">>(</span>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor" title="constructor">constructor</a><span class="special"><</span>tuple_<span class="special">>(),</span> <span class="identifier">_1</span><span class="special">,</span> a<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> a<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">)(</span> b<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">)(</span> c<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
</pre>
<p>
@@ -564,7 +639,8 @@
<th align="left">Important</th>
</tr>
<tr><td align="left" valign="top"><p>
- Elements are passed by reference. In the example involving a <code class="computeroutput">tuple</code>,
+ Elements are passed by <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">reference</a>.
+ In the example involving a <code class="computeroutput">tuple</code>,
it may have, for example, an lvalue and a <code class="computeroutput"><span class="keyword">const</span></code>
reference as its elements.
</p></td></tr>
@@ -574,13 +650,13 @@
<code class="computeroutput"><span class="identifier">from</span></code>, to an arbitrary container,
<code class="computeroutput"><span class="identifier">to</span></code>,
</p>
-<pre class="programlisting">put_range<span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
+<pre class="programlisting"><a class="link" href="index.html#boost_assign_v2._.reference.function.put_range" title="put_range">put_range</a><span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
</pre>
<p>
To assign a <code class="computeroutput">Range</code>
to a container,
</p>
-<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> convert<span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
+<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.convert" title="convert">convert</a><span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
</pre>
<p>
</p>
@@ -592,20 +668,22 @@
</h4></div></div></div>
<p>
An anonymous container is created by using the same interface as that of
- <code class="computeroutput">put_wrapper</code> and has most of the functionality of <code class="computeroutput">deque_</code> plus
- the conversion (to an arbitrary container) capability:
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a></code>
+ and has most of the functionality of <code class="computeroutput">deque_</code>
+ plus the conversion capability (See <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">ContainerConvertible</a></code>).
+ For assignment,
</p>
-<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> anon<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
+<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon">anon</a><span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
</pre>
<p>
To copy-construct <code class="computeroutput"><span class="identifier">to</span></code>,
</p>
-<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> anon<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">).</span>convert<span class="special"><</span><span class="identifier">To</span><span class="special">>();</span>
+<pre class="programlisting"><span class="identifier">To</span> <span class="identifier">to</span> <span class="special">=</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon">anon</a><span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">).</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">convert</a><span class="special"><</span><span class="identifier">To</span><span class="special">>();</span>
</pre>
<p>
To be able to use <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>,
</p>
-<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> <span class="special">(</span> anon<span class="special"><</span>t_<span class="special">>(</span> _nil <span class="special">)</span> <span class="special">%</span> <span class="special">(</span>_repeat <span class="special">=</span> <span class="identifier">n</span> <span class="special">)</span> <span class="special">)(</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">b</span> <span class="special">)(</span> <span class="identifier">c</span> <span class="special">);</span>
+<pre class="programlisting"><span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon">anon</a><span class="special"><</span>t_<span class="special">>(</span> _nil <span class="special">)</span> <span class="special">%</span> <span class="special">(</span>_repeat <span class="special">=</span> <span class="identifier">n</span> <span class="special">)</span> <span class="special">)(</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">b</span> <span class="special">)(</span> <span class="identifier">c</span> <span class="special">);</span>
</pre>
<p>
</p>
@@ -616,42 +694,43 @@
container of references</a>
</h4></div></div></div>
<p>
- An anonymous collection of references is created with a function with the
- same name as its value counterpart (above), <code class="computeroutput">anon</code>, but in the
- nested <code class="computeroutput"><span class="keyword">namespace</span></code> <code class="computeroutput">ref</code>,
- and by specifying a <em class="replaceable"><code>ref-assign-tag</code></em> template argument:
- </p>
+ The <code class="computeroutput">array</code>
+ returned by
+</p>
<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> ref<span class="special">;</span>
-anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
+<a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon">anon</a><span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">>(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
</pre>
<p>
- The resulting container holds references to the arguments. Clearly only
- unary function calls are allowed. The template argument <em class="replaceable"><code>ref-assign-tag</code></em> specifies how references
- are assigned : using copy semantics or rebind semantics. Finally, there
- is a <span class="emphasis"><em>csv</em></span> form as well. Rather than specifying <em class="replaceable"><code>ref-assign-tag</code></em>, it
- is equivalent to use a dedicated <code class="computeroutput"><span class="keyword">namespace</span></code>,
- in the example that follows, <code class="computeroutput">ref::assign_copy</code>:
+ dereferences to <code class="computeroutput">a</code>, <code class="computeroutput">b</code>, and <code class="computeroutput">c</code>, respectively.
+ Clearly only <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">unary
+ function</a> calls are allowed, but there is a <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">csv
+ counterpart</a> as well (see below). The template argument <code class="computeroutput"><em class="replaceable"><code>ref-assign-tag</code></em></code>
+ specifies <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>. Rather than specifying <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a></code>,
+ it is equivalent to use a dedicated <code class="computeroutput"><span class="keyword">namespace</span></code>.
+ For <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">copy
+ semantics</a>,
</p>
<p>
</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> ref::assign_copy<span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">v</span> <span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> anon<span class="special">(</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">b</span> <span class="special">)(</span> <span class="identifier">c</span> <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">==</span> <span class="identifier">v</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="identifier">c</span> <span class="special">==</span> <span class="identifier">v</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> ref<span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> assign_copy<span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> v <span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">anon</a><span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> a <span class="special">==</span> v<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> c <span class="special">==</span> v<span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
</pre>
<p>
- </p>
-<p>
- This example illustrates both the <span class="emphasis"><em>csv</em></span> form and rebind
- semantics:
+ For <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">rebind
+ semantics</a>,
</p>
<pre class="programlisting">#include <boost/typeof/typeof.hpp>
-<span class="keyword">using</span> <span class="keyword">namespace</span> ref::assign_rebind<span class="special">;</span>
-<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">tmp</span><span class="special">,</span> csv_anon<span class="special">(</span> <span class="identifier">a</span> <span class="special">,</span> <span class="identifier">b</span> <span class="special">)</span> <span class="special">);</span>
-<span class="identifier">tmp</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span> <span class="identifier">c</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="special">&</span><span class="identifier">tmp</span><span class="special">[</span> <span class="number">0</span> <span class="special">]</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">c</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="special">&</span><span class="identifier">tmp</span><span class="special">[</span> <span class="number">1</span> <span class="special">]</span> <span class="special">==</span> <span class="special">&</span><span class="identifier">c</span> <span class="special">);</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> ref<span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> assign_rebind<span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">tmp</span><span class="special">,</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">csv_anon</a><span class="special">(</span> a <span class="special">,</span> b <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">tmp</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span> c <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="special">&</span><span class="identifier">tmp</span><span class="special">[</span> <span class="number">0</span> <span class="special">]</span> <span class="special">==</span> <span class="special">&</span>c <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="special">&</span><span class="identifier">tmp</span><span class="special">[</span> <span class="number">1</span> <span class="special">]</span> <span class="special">==</span> <span class="special">&</span>c <span class="special">);</span>
</pre>
<p>
</p>
@@ -664,24 +743,32 @@
<p>
To assign from chained ranges:
</p>
-<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">r1</span> <span class="special">&&</span> <span class="identifier">r2</span> <span class="special">&&</span> <span class="identifier">r3</span><span class="special">).</span>convert<span class="special"><</span><span class="identifier">To</span><span class="special">>();</span>
+<pre class="programlisting"><span class="identifier">to</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">r1</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain">&&</a> <span class="identifier">r2</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain">&&</a> <span class="identifier">r3</span><span class="special">).</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">convert</a><span class="special"><</span><span class="identifier">To</span><span class="special">>();</span>
</pre>
<p>
Chaining is elementwise-lvalue preserving:
</p>
<pre class="programlisting">#include <boost/typeof/typeof.hpp>
-<span class="keyword">using</span> <span class="keyword">namespace</span> ref::assign_copy<span class="special">;</span>
-<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">tmp</span><span class="special">,</span> anon<span class="special">(</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">b</span> <span class="special">)</span> <span class="special">);</span>
-<span class="identifier">copy</span><span class="special">(</span> <span class="identifier">v</span> <span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">tmp</span> <span class="special">&&</span> anon<span class="special">(</span> <span class="identifier">c</span> <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">==</span> v<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="identifier">b</span> <span class="special">==</span> v<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">);</span>
-<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> <span class="identifier">c</span> <span class="special">==</span> v<span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> ref<span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> assign_copy<span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">tmp</span><span class="special">,</span> anon<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">copy</span><span class="special">(</span> <span class="identifier">v</span> <span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">tmp</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain">&&</a> <a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon">anon</a><span class="special">(</span> c <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> a <span class="special">==</span> v<span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> b <span class="special">==</span> v<span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSERT</span><span class="special">(</span> c <span class="special">==</span> v<span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+</pre>
+<p>
+ The fact that <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">anon</a><span class="special">(</span> c <span class="special">)</span></code>, above,
+ returns an rvalue should underscore the significance of <span class="emphasis"><em>elementwise</em></span>
+ in our previous statement. See <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.range_lvalue" title="RangeLvalue">RangeLvalue</a></code>.
+ Continuing our example,
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">tmp</span><span class="special">.</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">convert</a><span class="special"><</span>v_<span class="special">>();</span>
</pre>
<p>
- The fact that <code class="computeroutput">anon<span class="special">(</span> <span class="identifier">c</span>
- <span class="special">)</span></code>, above, returns an rvalue should
- underscore the significance of <span class="emphasis"><em>elementwise</em></span> in our
- previous statement.
</p>
</div>
<div class="section" title="Running the code">
@@ -695,7 +782,7 @@
<p>
</p>
-<pre class="programlisting">#include <libs/assign/v2/example/tutorial.h>
+<pre class="programlisting">#include <libs/assign/v2/example/tutorial.cpp>
</pre>
<p>
</p>
@@ -723,21 +810,10 @@
interface and design</a>
</h3></div></div></div>
<p>
- This section discusses general features of the interface and concerns the
- <code class="computeroutput">object</code> s returned by
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><code class="computeroutput"><span class="identifier">anon</span><span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">put_wrapper</span><span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span>anon<span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_anon</span><span class="special">()</span></code></li>
-</ul></div>
-<p>
Functions are the primary interface by which the user interacts with the
- library. However, it is the object that they return that are responsible
- for performing the desired task. The relationship between a function and
- its resulting object can be formalized as follows, where both expressions
- have the same side effect:
+ library. From an implementation standpoint, however, it is the object that
+ they return that are responsible for performing the desired task. This relationship
+ is formalized as follows:
</p>
<div class="informaltable"><table class="table">
<colgroup>
@@ -747,12 +823,12 @@
<thead><tr>
<th>
<p>
- Expression1
+ Interface
</p>
</th>
<th>
<p>
- Expression2
+ Implementation
</p>
</th>
</tr></thead>
@@ -770,7 +846,7 @@
<p>
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fun_nil</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> object <span class="special">=</span> <span class="identifier">fun</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span> _nil <span class="special">);</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fun_nil</span><span class="special"><</span>t_<span class="special">>::</span><span class="identifier">type</span> object <span class="special">=</span> <span class="identifier">fun</span><span class="special"><</span>t_<span class="special">>(</span> _nil <span class="special">);</span>
object<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
</pre>
<p>
@@ -779,33 +855,26 @@
</tr></tbody>
</table></div>
<p>
- In <code class="computeroutput"><span class="keyword">namespace</span></code> <code class="computeroutput">ref</code>
- with <code class="computeroutput">anon</code> as <code class="computeroutput"><span class="identifier">fun</span></code>,
- this is exactly the representation that is used. In other segments of the
- library, however, although the interface may not match exactly that above,
- a similar idea is at work.
- </p>
-<p>
To avoid passing to functions many, in fact any, parameters that would confuse
the user and cause the developer a headache, the library usually deduces
the parameters from its input using traits. Considering, for example, the
- <code class="computeroutput">put_wrapper</code> functionality, the library, by default,
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">()</span></code> functionality, the library, by default,
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
- Calls a functor, <code class="computeroutput">constructor<span class="special"><</span>t<span class="special">>()</span></code>, which is overloaded on the number
- and lvalue/<code class="computeroutput"><span class="keyword">const</span></code>-ness of its
- arguments, and returns the type of the elements in the destination container.
+ For creating each element, calls a functor, <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.constructor" title="constructor">constructor</a><span class="special"><</span>t<span class="special">>()</span></code>,
+ overloaded on the number and lvalue/<code class="computeroutput"><span class="keyword">const</span></code>-ness
+ of its arguments (see <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>).
</li>
<li class="listitem">
- Another traits decides which modifier (such as <code class="computeroutput"><span class="identifier">push_back</span><span class="special">()</span></code>) to use given certain properties of the
+ A traits decides which modifier (such as <code class="computeroutput"><span class="identifier">push_back</span><span class="special">()</span></code>) to use given certain properties of the
container. For example, if the container has <code class="computeroutput"><span class="identifier">push</span><span class="special">()</span></code> it takes precedence over <code class="computeroutput"><span class="identifier">push_back</span><span class="special">()</span></code>.
</li>
</ul></div>
<p>
For example, the side effect of
</p>
-<pre class="programlisting"><span class="identifier">put_wrapper</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="identifier">key1</span><span class="special">,</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">key2</span><span class="special">,</span> <span class="identifier">b</span> <span class="special">)(</span> <span class="identifier">key3</span><span class="special">,</span> <span class="identifier">c</span> <span class="special">)</span>
+<pre class="programlisting"><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="identifier">key1</span><span class="special">,</span> <span class="identifier">a</span> <span class="special">)(</span> <span class="identifier">key2</span><span class="special">,</span> <span class="identifier">b</span> <span class="special">)(</span> <span class="identifier">key3</span><span class="special">,</span> <span class="identifier">c</span> <span class="special">)</span>
</pre>
<p>
is identical to that of
@@ -841,7 +910,7 @@
thereby modifying the semantics of subequent calls to the object. For example,
</p>
-<pre class="programlisting"><span class="special">(</span>put_wrapper<span class="special">(</span> map <span class="special">)</span> <span class="special">%</span> _incr_lookup<span class="special">)(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">)</span>
+<pre class="programlisting"><span class="special">(</span><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put">put</a><span class="special">(</span> map <span class="special">)</span> <span class="special">%</span> _incr_lookup<span class="special">)(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">)</span>
</pre>
<p>
</p>
@@ -851,9 +920,7 @@
<p>
</p>
-<pre class="programlisting"><span class="special">++</span> map <span class="special">[</span> a <span class="special">];</span>
-<span class="special">++</span> map <span class="special">[</span> b <span class="special">];</span>
-<span class="special">++</span> map <span class="special">[</span> c <span class="special">];</span>
+<pre class="programlisting"><span class="special">++</span> map <span class="special">[</span> a <span class="special">];</span> <span class="special">++</span> map <span class="special">[</span> b <span class="special">];</span> <span class="special">++</span> map <span class="special">[</span> c <span class="special">];</span>
</pre>
<p>
</p>
@@ -863,251 +930,410 @@
<a name="boost_assign_v2._.reference"></a><a class="link" href="index.html#boost_assign_v2._.reference" title="Reference">Reference</a>
</h3></div></div></div>
<div class="toc"><dl>
-<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.overload_resolution">Overload
- resolution</a></span></dt>
-<dt><span class="section">Keywords</span></dt>
+<dt><span class="section">Concept</span></dt>
<dd><dl>
-<dt><span class="section">_deduce</span></dt>
-<dt><span class="section">_fun</span></dt>
-<dt><span class="section">_nil</span></dt>
-<dt><span class="section">_unwrap</span></dt>
-<dt><span class="section">_incr_lookup</span></dt>
-<dt><span class="section">_repeat</span></dt>
-<dt><span class="section">_put_tag</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.ref_assign">
+ Reference assignment</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.container_convertible">
+ <code class="literal">ContainerConvertible</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.fun_syntax">
+ Function syntax</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.range_lvalue">
+ <code class="computeroutput">RangeLvalue</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Configuration</span></dt>
+<dt><span class="section">Class</span></dt>
+<dd><dl>
+<dt><span class="section"> anon_aux::cont
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.put_wrapper">
+ <code class="computeroutput">put_aux::put_wrapper</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_anon_cont">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::cont</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::fast_alloc</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_interface">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::interface</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Function</span></dt>
+<dd><dl>
+<dt><span class="section"> anon
</span></dt>
+<dt><span class="section"> _chain
</span></dt>
+<dt><span class="section"> convert
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.constructor">
+ <code class="computeroutput">constructor</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.put_range">
+ <code class="computeroutput">put_range</code></a></span></dt>
+<dt><span class="section"> put
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_anon">
+ <code class="computeroutput">ref<span class="special">::</span>anon</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_csv_anon">
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon</code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Keyword</span></dt>
+<dd><dl>
+<dt><span class="section"> _deduce
</span></dt>
+<dt><span class="section"> _fun
</span></dt>
+<dt><span class="section"> _nil
</span></dt>
+<dt><span class="section"> _unwrap
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.keyword.incr_lookup">
+ <code class="computeroutput">_incr_lookup</code></a></span></dt>
+<dt><span class="section"> _repeat
</span></dt>
+<dt><span class="section"> _put_tag
</span></dt>
</dl></dd>
-<dt><span class="section">anon
</span></dt>
-<dt><span class="section">chain</span></dt>
-<dt><span class="section">convert
</span></dt>
-<dt><span class="section">put_range
</span></dt>
-<dt><span class="section">put_wrapper
</span></dt>
-<dt><span class="section">ref::anon
</span></dt>
</dl></div>
-<div class="section" title="Overload resolution">
+<div class="section" title="Concept">
<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.overload_resolution"></a><a class="link" href="index.html#boost_assign_v2._.reference.overload_resolution" title="Overload resolution">Overload
- resolution</a>
+<a name="boost_assign_v2._.reference.concept"></a><a class="link" href="index.html#boost_assign_v2._.reference.concept" title="Concept">Concept</a>
</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.ref_assign">
+ Reference assignment</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.container_convertible">
+ <code class="literal">ContainerConvertible</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.fun_syntax">
+ Function syntax</a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.concept.range_lvalue">
+ <code class="computeroutput">RangeLvalue</code></a></span></dt>
+</dl></div>
+<div class="section" title="Reference assignment">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.concept.ref_assign"></a><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">
+ Reference assignment</a>
+</h5></div></div></div>
<p>
- This section concerns the <code class="computeroutput">object</code> s returned by
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><code class="computeroutput"><span class="identifier">anon</span><span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">put_wrapper</span><span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span>anon<span class="special">()</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_anon</span><span class="special">()</span></code></li>
-</ul></div>
-<a name="boost_assign_v2._.reference.overload_resolution.headers"></a><h6>
-<a name="id36158235"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.overload_resolution.headers">Headers</a>
- </h6>
-<pre class="programlisting">#include <boost/assign/v2/detail/config/arity_bound.hpp>
-#include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp>
-</pre>
-<a name="boost_assign_v2._.reference.overload_resolution._emphasis_functor__emphasis__and__emphasis_csv__emphasis__forms"></a><h6>
-<a name="id36158395"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.overload_resolution._emphasis_functor__emphasis__and__emphasis_csv__emphasis__forms"><span class="emphasis"><em>functor</em></span>
- and <span class="emphasis"><em>csv</em></span> forms</a>
- </h6>
-<div class="table">
-<a name="boost_assign_v2._.reference.overload_resolution.the_functor_and_csv_forms"></a><p class="title"><b>Table 1.4. The functor and csv forms</b></p>
-<div class="table-contents"><table class="table" summary="The functor and csv forms">
+ Let a reference wrapper, <code class="computeroutput">w</code>, binding to some reference <code class="computeroutput"><span class="identifier">y1</span></code> of type <code class="computeroutput">t</code>. Consider
+ assigning it as follows:
+</p>
+<pre class="programlisting">w <span class="special">=</span> <span class="identifier">y2</span><span class="special">;</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">y2</span></code> is also of type
+ <code class="computeroutput">t</code>. There are two possible semantics which are captured by
+ the concepts below:
+ </p>
+<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
+<col>
</colgroup>
<thead><tr>
<th>
- <p>
- Syntax
- </p>
- </th>
+ <p>
+ Name
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
-
-</p>
-<pre class="programlisting">f<span class="special">(</span> x<span class="special">[</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span><span class="number">0</span><span class="special">,</span>k<span class="special">(</span><span class="number">0</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> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">,</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">,</span>k<span class="special">(</span>n<span class="special">-</span><span class="number">1</span><span class="
special">)-</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
+ <p>
+ <code class="literal"><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">AssignCopy</a></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>functor</em></span>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">y1</span> <span class="special">==</span>
+ <span class="identifier">y2</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The bound reference is assigned a new value
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
-</p>
-<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span> x<span class="special">[</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
+ <p>
+ <code class="literal"><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">AssignRebind</a></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>csv</em></span>
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="special">&</span>w <span class="special">==</span>
+ <span class="special">&</span><span class="identifier">y2</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The reference wrapper binds to a new reference
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
</div>
-<br class="table-break"><div class="note" title="Note"><table border="0" summary="Note">
+<div class="section" title="ContainerConvertible">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.concept.container_convertible"></a><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">
+ <code class="literal">ContainerConvertible</code></a>
+</h5></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Requirement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../doc/html/images/note.png"></td>
-<th align="left">Note</th>
+<td>
+ <p>
+ <code class="computeroutput">object<span class="special">.</span>convert<span class="special"><</span><span class="identifier">To</span><span class="special">>();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an object of type <code class="computeroutput"><span class="identifier">To</span></code>,
+ initialized with the same elements
+ </p>
+ </td>
</tr>
-<tr><td align="left" valign="top"><p>
- The arguments are passed as references.
- </p></td></tr>
-</table></div>
-<div class="important" title="Important"><table border="0" summary="Important">
<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../doc/html/images/important.png"></td>
-<th align="left">Important</th>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">To</span> <span class="identifier">to</span><span class="special">;</span> <span class="identifier">to</span>
+ <span class="special">=</span> object </code>
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns <code class="computeroutput"><span class="identifier">to</span></code>
+ with the elements of <code class="computeroutput">object</code>
+ </p>
+ </td>
</tr>
-<tr><td align="left" valign="top"><p>
- The rules for <code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span>anon<span class="special">()</span></code> are those of the <span class="emphasis"><em>csv</em></span>.
- </p></td></tr>
+</tbody>
</table></div>
-<a name="boost_assign_v2._.reference.overload_resolution.arity"></a><h6>
-<a name="id36158748"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.overload_resolution.arity">Arity</a>
- </h6>
+</div>
+<div class="section" title="Function syntax">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.concept.fun_syntax"></a><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">
+ Function syntax</a>
+</h5></div></div></div>
<p>
- Let <code class="literal">m</code> designates the constant under consideration in
- each row below:
- </p>
-<div class="table">
-<a name="boost_assign_v2._.reference.overload_resolution.preprocessor_constants"></a><p class="title"><b>Table 1.5. Preprocessor constants</b></p>
-<div class="table-contents"><table class="table" summary="Preprocessor constants">
+ In each case below, arguments are passed by reference to <code class="computeroutput">f</code>.
+ </p>
+<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
-<col>
</colgroup>
<thead><tr>
<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Relevant <br> form
- </p>
- </th>
+ <p>
+ Syntax
+ </p>
+ </th>
<th>
- <p>
- User <br> definable
- </p>
- </th>
+ <p>
+ Arity
+ </p>
+ </th>
<th>
- <p>
- Implication
- </p>
- </th>
+ <p>
+ Concept
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- BOOST_ASSIGN_V2_ARITY_BOUND
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>functor</em></span>
- </p>
- </td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">f<span class="special">(</span> x<span class="special">[</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span><span class="number">0</span><span class="special">,</span>k<span class="special">(</span><span class="number">0</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> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">,</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">,</span>k<span class="special">(</span>
n<span class="special">-</span><span class="number">1</span><span class="special">)-</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
<td>
- <p>
- Yes
- </p>
- </td>
+ <p>
+ <code class="literal">k [ i ] - 1 < <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_ARITY_BOUND</a>
+ </code>
+ </p>
+ </td>
<td>
- <p>
- <code class="literal">k < m</code>
- </p>
- </td>
+ <p>
+ <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- BOOST_ASSIGN_V2_LVALUE_CONST_ARITY_BOUND
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>functor</em></span>
- </p>
- </td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">f<span class="special">(</span> x<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> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
<td>
- <p>
- No
- </p>
- </td>
+ <p>
+ <code class="literal">j[i] =1</code>
+ </p>
+ </td>
<td>
- <p>
- See below
- </p>
- </td>
+ <p>
+ <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Unary</a>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- BOOST_ASSIGN_V2_CSV_ARITY_BOUND
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>csv</em></span>
- </p>
- </td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">f</span><span class="special">(</span> x<span class="special">[</span><span class="number">0</span><span class="special">],</span> <span class="special">...,</span> x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">]</span> <span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
<td>
- <p>
- Yes
- </p>
- </td>
+ <p>
+ <code class="literal">n - 1 < <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_CSV_ARITY_BOUND</a>
+ </code>
+ </p>
+ </td>
<td>
- <p>
- <code class="literal">n < m</code>
- </p>
- </td>
+ <p>
+ <a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-</div>
-<br class="table-break"><p>
- Necessary and sufficient conditions for preserving lvalue-ness, for a given
- <code class="literal">j</code>, are
- </p>
-<div class="informaltable"><table class="table">
+<div class="table">
+<a name="boost_assign_v2._.reference.concept.fun_syntax.preservation_of_lvalue"></a><p class="title"><b>Table 1.4. Preservation of lvalue</b></p>
+<div class="table-contents"><table class="table" summary="Preservation of lvalue">
<colgroup>
<col>
<col>
+<col>
</colgroup>
<thead><tr>
<th>
- <p>
- Function
- </p>
- </th>
+ <p>
+ Concept
+ </p>
+ </th>
<th>
- <p>
- Condition
+ <p>
+ Argument
+ </p>
+ </th>
+<th>
+ <p>
+ Condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="literal"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">x [ i, j ] </code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">k[ i ] - 1 < <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_LVALUE_CONST_ARITY_BOUND</a>
+ </code> or <code class="literal">x [ i, j ]</code> is lvalue for all
+ <code class="literal">j = 0, ..., k[ i ] - 1 </code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Unary</a></code>
+ and <code class="literal"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">x [ i ] </code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">x [ i ] </code> is lvalue for all <code class="literal">i =
+ 0, ..., n - 1 </code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" title="RangeLvalue">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.concept.range_lvalue"></a><a class="link" href="index.html#boost_assign_v2._.reference.concept.range_lvalue" title="RangeLvalue">
+ <code class="computeroutput">RangeLvalue</code></a>
+</h5></div></div></div>
+<p>
+ An function taking as inputs <code class="computeroutput">Range</code>
+ s and returning a <code class="computeroutput">Range</code>
+ models <code class="computeroutput">RangeLvalue</code> if, in case the dereference of each input
+ is lvalue, then so is that of the returned range.
+ </p>
+</div>
+</div>
+<div class="section" title="Configuration">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2._.reference.configuration"></a><a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">Configuration</a>
+</h4></div></div></div>
+<div class="table">
+<a name="boost_assign_v2._.reference.configuration.preprocessor_constants"></a><p class="title"><b>Table 1.5. Preprocessor constants</b></p>
+<div class="table-contents"><table class="table" summary="Preprocessor constants">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Constant
+ </p>
+ </th>
+<th>
+ <p>
+ Override-able
+ </p>
+ </th>
+<th>
+ <p>
+ Header
</p>
</th>
</tr></thead>
@@ -1115,416 +1341,708 @@
<tr>
<td>
<p>
- <code class="literal">i</code>th call to <span class="emphasis"><em>functor</em></span>
+ <code class="literal"> <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_ARITY_BOUND</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">#include <boost/assign/v2/detail/config/arity_bound.hpp></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal"> <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_CSV_ARITY_BOUND</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ No
</p>
</td>
<td>
<p>
- <code class="literal">k(i) < m</code> or all of <code class="computeroutput">x<span class="special">[</span>i<span class="special">,</span><span class="number">0</span><span class="special">]</span></code>,...,<code class="computeroutput">x<span class="special">[</span>i<span class="special">,</span>k<span class="special">(</span>i<span class="special">)-</span><span class="number">1</span><span class="special">]</span></code> are lvalue s
+ <code class="computeroutput">#include <boost/assign/v2/detail/config/arity_bound.hpp></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
- <span class="emphasis"><em>csv</em></span>
+ <code class="literal"> <a class="link" href="index.html#boost_assign_v2._.reference.configuration" title="Configuration">BOOST_ASSIGN_V2_LVALUE_CONST_ARITY_BOUND</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
</p>
</td>
<td>
<p>
- All of <code class="computeroutput">x<span class="special">[</span><span class="number">0</span><span class="special">]</span></code>,...,<code class="computeroutput">x<span class="special">[</span>n<span class="special">-</span><span class="number">1</span><span class="special">]</span></code> are lvalue s
+ <code class="computeroutput">#include <boost/assign/v2/detail/functor/crtp_unary_and_up.hpp></code>
</p>
</td>
</tr>
</tbody>
</table></div>
-<p>
- where <code class="literal">m</code> is as previously defined, looking at the second
- row of the preceding table. If the condition, in each row, is violated,
- the overload whose arguments are all <code class="computeroutput"><span class="keyword">const</span></code>
- references is that which is resolved to.
- </p>
</div>
-<div class="section" title="Keywords">
+<br class="table-break">
+</div>
+<div class="section" title="Class">
<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.keywords"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords" title="Keywords">Keywords</a>
+<a name="boost_assign_v2._.reference.class"></a><a class="link" href="index.html#boost_assign_v2._.reference.class" title="Class">Class</a>
</h4></div></div></div>
<div class="toc"><dl>
-<dt><span class="section">_deduce</span></dt>
-<dt><span class="section">_fun</span></dt>
-<dt><span class="section">_nil</span></dt>
-<dt><span class="section">_unwrap</span></dt>
-<dt><span class="section">_incr_lookup</span></dt>
-<dt><span class="section">_repeat</span></dt>
-<dt><span class="section">_put_tag</span></dt>
+<dt><span class="section"> anon_aux::cont
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.put_wrapper">
+ <code class="computeroutput">put_aux::put_wrapper</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_anon_cont">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::cont</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::fast_alloc</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.class.ref_interface">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::interface</code></a></span></dt>
</dl></div>
-<div class="section" title="_deduce">
+<div class="section" title="anon_aux::cont">
<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__deduce__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__deduce__" title="_deduce">_deduce</a>
+<a name="boost_assign_v2._.reference.class.anon_cont"></a><a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont" title="anon_aux::cont"> <code class="computeroutput">anon_aux::cont</code></a>
</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__deduce__.expression_semantics"></a><h6>
-<a name="id36159164"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__deduce__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.anon_cont.description"></a><h6>
+<a name="id36159532"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont.description">Description</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">object <span class="special">%</span> <span class="identifier">deduce</span><span class="special">;</span>
-</pre>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
- </p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ An anynymous container.
</p>
-<a name="boost_assign_v2._.reference.keywords.__deduce__.header"></a><h6>
-<a name="id36159223"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__deduce__.header">Header</a>
+<a name="boost_assign_v2._.reference.class.anon_cont.model_of"></a><h6>
+<a name="id36159552"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont.model_of">Model
+ of</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">ContainerConvertible</a></code>,
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>,
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>
+ with respect to member function <code class="computeroutput">csv<span class="special">()</span></code>.
</p>
-</div>
-<div class="section" title="_fun">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__fun__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__fun__" title="_fun">_fun</a>
-</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__fun__.expression_semantics"></a><h6>
-<a name="id36159261"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__fun__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.anon_cont.parameters"></a><h6>
+<a name="id36159605"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont.parameters">Parameters</a>
</h6>
-<p>
-
-</p>
-<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span> <span class="identifier">_fun</span> <span class="special">=</span> <span class="identifier">f</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
- </p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
- </p>
-<a name="boost_assign_v2._.reference.keywords.__fun__.header"></a><h6>
-<a name="id36159337"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__fun__.header">Header</a>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Value
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A functor that returns <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Tag</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <code class="computeroutput"><em class="replaceable"><code>put-tag</code></em></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.class.anon_cont.header"></a><h6>
+<a name="id36159742"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont.header">Header</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ TODO
</p>
</div>
-<div class="section" title="_nil">
+<div class="section" title="put_aux::put_wrapper">
<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__nil__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__nil__" title="_nil">_nil</a>
+<a name="boost_assign_v2._.reference.class.put_wrapper"></a><a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper" title="put_aux::put_wrapper">
+ <code class="computeroutput">put_aux::put_wrapper</code></a>
</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__nil__.expression_semantics"></a><h6>
-<a name="id36159375"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__nil__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.put_wrapper.description"></a><h6>
+<a name="id36159777"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper.description">Description</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span> <span class="identifier">_nil</span> <span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
- </p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ An object that modifies a container by putting elements into it.
</p>
-<a name="boost_assign_v2._.reference.keywords.__nil__.header"></a><h6>
-<a name="id36159440"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__nil__.header">Header</a>
+<a name="boost_assign_v2._.reference.class.put_wrapper.model_of"></a><h6>
+<a name="id36159797"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper.model_of">Model
+ of</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>,
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>
+ with respect to member function <code class="computeroutput">csv<span class="special">()</span></code>.
</p>
-</div>
-<div class="section" title="_unwrap">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__unwrap__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__unwrap__" title="_unwrap">_unwrap</a>
-</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__unwrap__.expression_semantics"></a><h6>
-<a name="id36159478"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__unwrap__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.put_wrapper.parameters"></a><h6>
+<a name="id36159841"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper.parameters">Parameters</a>
</h6>
-<p>
-
-</p>
-<pre class="programlisting"><span class="emphasis"><em>unspecified</em></span>
-</pre>
-<p>
- </p>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
- </p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
- </p>
-<a name="boost_assign_v2._.reference.keywords.__unwrap__.header"></a><h6>
-<a name="id36159528"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__unwrap__.header">Header</a>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">V</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Container
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">F</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A functor that returns the value type of <code class="computeroutput"><span class="identifier">V</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Tag</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <code class="computeroutput"><em class="replaceable"><code>put-tag</code></em></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.class.put_wrapper.header"></a><h6>
+<a name="id36159979"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper.header">Header</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ TODO
</p>
</div>
-<div class="section" title="_incr_lookup">
+<div class="section" title="ref::anon_aux::cont">
<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__incr_lookup__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__incr_lookup__" title="_incr_lookup">_incr_lookup</a>
+<a name="boost_assign_v2._.reference.class.ref_anon_cont"></a><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont" title="ref::anon_aux::cont">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::cont</code></a>
</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__incr_lookup__.expression_semantics"></a><h6>
-<a name="id36159568"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__incr_lookup__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.ref_anon_cont.description"></a><h6>
+<a name="id36160018"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont.description">Description</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting"><span class="emphasis"><em>unspecified</em></span>
-</pre>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
- </p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ A container of references.
</p>
-<a name="boost_assign_v2._.reference.keywords.__incr_lookup__.header"></a><h6>
-<a name="id36159614"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__incr_lookup__.header">Header</a>
+<a name="boost_assign_v2._.reference.class.ref_anon_cont.parameters"></a><h6>
+<a name="id36160038"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont.parameters">Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="literal">N</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Size
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">L</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">Tag1</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Controls the <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">Tag2</code>
+ </p>
+ </td>
+<td>
+ <p>
+ A parameter for a base class
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="table">
+<a name="boost_assign_v2._.reference.class.ref_anon_cont.base"></a><p class="title"><b>Table 1.6. Base</b></p>
+<div class="table-contents"><table class="table" summary="Base">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ if <code class="literal">Tag2</code> equals
+ </p>
+ </th>
+<th>
+ <p>
+ evaluates to
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">alloc_tag::lazy_alloc</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface" title="ref::anon_aux::interface">anon_aux::interface</a></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="boost_assign_v2._.reference.class.ref_anon_cont.model_of"></a><h6>
+<a name="id36160256"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont.model_of">Model
+ of</a>
+ </h6>
+<p>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Unary</a></code>
+ </p>
+<div class="note" title="Note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Make sure to look at those of the interface (see above) as well.
+ </p></td></tr>
+</table></div>
+<a name="boost_assign_v2._.reference.class.ref_anon_cont.header"></a><h6>
+<a name="id36160290"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont.header">Header</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ TODO
</p>
</div>
-<div class="section" title="_repeat">
+<div class="section" title="ref::anon_aux::fast_alloc">
<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__repeat__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__repeat__" title="_repeat">_repeat</a>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc"></a><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc" title="ref::anon_aux::fast_alloc">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::fast_alloc</code></a>
</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__repeat__.expression_semantics"></a><h6>
-<a name="id36159652"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__repeat__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc.description"></a><h6>
+<a name="id36160332"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc.description">Description</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span>_repeat <span class="special">=</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
+ An interface for an array or references.
</p>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc.parameters"></a><h6>
+<a name="id36160352"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc.parameters">Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="literal">N</code>
+ </p>
+ </td>
+<td>
+ <p>
+ static size
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">Tag1</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Controls the <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">T</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Value
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc.derived_of"></a><h6>
+<a name="id36160472"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc.derived_of">Derived
+ of</a>
+ </h6>
<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface" title="ref::anon_aux::interface">anon_aux::interface</a><span class="special"><></span></code>
</p>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc.model_of"></a><h6>
+<a name="id36160504"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc.model_of">Model
+ of</a>
+ </h6>
<p>
- <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ See the base.
</p>
-<a name="boost_assign_v2._.reference.keywords.__repeat__.header"></a><h6>
-<a name="id36159723"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__repeat__.header">Header</a>
+<a name="boost_assign_v2._.reference.class.ref_fast_alloc.header"></a><h6>
+<a name="id36160523"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc.header">Header</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
-</pre>
-<p>
+ TODO
</p>
</div>
-<div class="section" title="_put_tag">
+<div class="section" title="ref::anon_aux::interface">
<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_assign_v2._.reference.keywords.__put_kwd__"></a><a class="link" href="index.html#boost_assign_v2._.reference.keywords.__put_kwd__" title="_put_tag">_put_tag</a>
+<a name="boost_assign_v2._.reference.class.ref_interface"></a><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface" title="ref::anon_aux::interface">
+ <code class="computeroutput">ref<span class="special">::</span>anon_aux::interface</code></a>
</h5></div></div></div>
-<a name="boost_assign_v2._.reference.keywords.__put_kwd__.expression_semantics"></a><h6>
-<a name="id36159763"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__put_kwd__.expression_semantics">Expression
- Semantics</a>
+<a name="boost_assign_v2._.reference.class.ref_interface.description"></a><h6>
+<a name="id36160563"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface.description">Description</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span>_put_tag <span class="special">=</span> <em class="replaceable"><code>put-tag</code></em><span class="special">());</span>
-</pre>
-<p>
- </p>
-<p>
- <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ An array or references.
</p>
-<p>
- <span class="bold"><strong>Semantics</strong></span> Selects a container modifier.
- </p>
-<div class="table">
-<a name="boost_assign_v2._.reference.keywords.__put_kwd__.candidate_tags_"></a><p class="title"><b>Table 1.6. Candidate tags.</b></p>
-<div class="table-contents"><table class="table" summary="Candidate tags.">
-<colgroup><col></colgroup>
-<thead><tr><th>
+<a name="boost_assign_v2._.reference.class.ref_interface.parameters"></a><h6>
+<a name="id36160582"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface.parameters">Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
<p>
- Name
+ Parameter
</p>
- </th></tr></thead>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
<tbody>
-<tr><td>
+<tr>
+<td>
<p>
- <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">at_next</span></code>
+ <code class="literal">N</code>
</p>
- </td></tr>
-<tr><td>
+ </td>
+<td>
<p>
- <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">insert</span></code>
+ Size
</p>
- </td></tr>
-<tr><td>
+ </td>
+</tr>
+<tr>
+<td>
<p>
- <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">push</span></code>
+ <code class="literal">Tag1</code>
</p>
- </td></tr>
-<tr><td>
+ </td>
+<td>
<p>
- <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">push_back</span></code>
+ Controls the <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>
</p>
- </td></tr>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">T</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Value
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">D</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Derived type
+ </p>
+ </td>
+</tr>
</tbody>
</table></div>
-</div>
-<br class="table-break"><a name="boost_assign_v2._.reference.keywords.__put_kwd__.header"></a><h6>
-<a name="id36159953"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.keywords.__put_kwd__.header">Header</a>
+<a name="boost_assign_v2._.reference.class.ref_interface.model_of"></a><h6>
+<a name="id36160724"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface.model_of">Model
+ of</a>
</h6>
<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/put/put.hpp>
-</pre>
-<p>
- [header Example]
-</p>
-<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span>_put_tag <span class="special">=</span> put_tag<span class="special">::</span><span class="identifier">push</span><span class="special">());</span>
-</pre>
+ <code class="computeroutput">array</code>,
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">ContainerConvertible</a></code>
+ </p>
+<a name="boost_assign_v2._.reference.class.ref_interface.header"></a><h6>
+<a name="id36160761"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.class.ref_interface.header">Header</a>
+ </h6>
<p>
+ TODO
</p>
</div>
</div>
-<div class="section" title="anon">
+<div class="section" title="Function">
<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.___anon___"></a><a class="link" href="index.html#boost_assign_v2._.reference.___anon___" title="anon"><code class="computeroutput">anon</code></a>
+<a name="boost_assign_v2._.reference.function"></a><a class="link" href="index.html#boost_assign_v2._.reference.function" title="Function">Function</a>
</h4></div></div></div>
-<a name="boost_assign_v2._.reference.___anon___.description"></a><h6>
-<a name="id36160027"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.description">Description</a>
- </h6>
+<div class="toc"><dl>
+<dt><span class="section"> anon
</span></dt>
+<dt><span class="section"> _chain
</span></dt>
+<dt><span class="section"> convert
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.constructor">
+ <code class="computeroutput">constructor</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.put_range">
+ <code class="computeroutput">put_range</code></a></span></dt>
+<dt><span class="section"> put
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_anon">
+ <code class="computeroutput">ref<span class="special">::</span>anon</code></a></span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.function.ref_csv_anon">
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon</code></a></span></dt>
+</dl></div>
+<div class="section" title="anon">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.anon"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.anon" title="anon"> <code class="computeroutput">anon</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.anon.description"></a><h6>
+<a name="id36160807"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.description">Description</a>
+ </h6>
<p>
- Creates an anonymous container
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- With the same interface as <code class="computeroutput">put_wrapper</code>
-</li>
-<li class="listitem">
- and converts to an arbitrary container
- </li>
-</ul></div>
-<a name="boost_assign_v2._.reference.___anon___.synopsis"></a><h6>
-<a name="id36160061"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.synopsis">Synopsis</a>
- </h6>
+ Returns an object of type <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.class.anon_cont" title="anon_aux::cont">anon_aux::cont</a><span class="special"><></span></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.anon.synopsis"></a><h6>
+<a name="id36160838"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.synopsis">Synopsis</a>
+ </h6>
<div class="informaltable"><table class="table">
-<colgroup><col></colgroup>
+<colgroup>
+<col>
+<col>
+</colgroup>
<thead><tr>
<th>
- <p>
- Syntax
- </p>
- </th>
+ <p>
+ Syntax
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-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> result_of<span class="special">::</span>anon<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">anon</span><span class="special">(</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">nil</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">);</span>
+anon<span class="special">(</span> <span class="emphasis"><em>unspecified</em></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-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> result_of<span class="special">::</span>anon<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">anon</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> <span class="special">);</span>
+anon<span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-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> result_of<span class="special">::</span>anon<span class="special"><</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">anon</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">);</span>
+anon<span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
-<td class="auto-generated"> </td>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference.___anon___.parameters"></a><h6>
-<a name="id36160410"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.parameters">Parameters</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.anon.parameters"></a><h6>
+<a name="id36161176"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1533,44 +2051,44 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody><tr>
<td>
- <p>
- T
- </p>
- </td>
+ <p>
+ T
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- Value of argument to <code class="computeroutput">anon</code>
- </p>
- </td>
+ <p>
+ Value to be held by the container returned by <code class="computeroutput">anon</code>
+ </p>
+ </td>
</tr></tbody>
</table></div>
-<a name="boost_assign_v2._.reference.___anon___.expression_semantics"></a><h6>
-<a name="id36160498"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.expression_semantics">Expression
- Semantics</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.anon.expression_semantics"></a><h6>
+<a name="id36161265"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1578,68 +2096,68 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression
- </p>
- </th>
+ <p>
+ Expression
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">anon</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span> _nil <span class="special">);</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">anon<span class="special"><</span><span class="identifier">T</span><span class="special">>(</span> _nil <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1) </em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1) </em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">anon</span><span class="special">(</span> t <span class="special">);</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">anon<span class="special">(</span> t <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
<p>
- <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>anon<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
- for each <span class="emphasis"><em>(1)</em></span>, <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
- </p>
+ <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>anon<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code> for each <span class="emphasis"><em>(1)</em></span>,
+ <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
+ </p>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Creates an anonymous container.
- </p>
-<a name="boost_assign_v2._.reference.___anon___.header"></a><h6>
-<a name="id36160684"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: TODO
+ </p>
+<a name="boost_assign_v2._.reference.function.anon.header"></a><h6>
+<a name="id36161447"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.header">Header</a>
+ </h6>
<pre class="programlisting">#include <boost/assign/v2/anon/anon.hpp>
</pre>
-<a name="boost_assign_v2._.reference.___anon___.example"></a><h6>
-<a name="id36160704"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___anon___.example">Example</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.anon.example"></a><h6>
+<a name="id36161469"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.anon.example">Example</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1647,125 +2165,120 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression
- </p>
- </th>
+ <p>
+ Expression
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">anon<span class="special"><</span><span class="keyword">int</span><span class="special">>(</span> _nil <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1) </em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1) </em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> a<span class="special">;</span> anon<span class="special">(</span> a <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">anon<span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
</div>
-<div class="section" title="chain">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.__chain__"></a><a class="link" href="index.html#boost_assign_v2._.reference.__chain__" title="chain">chain</a>
-</h4></div></div></div>
-<p>
- Forms a range by chaining two ranges in a way that
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- preserves lvalue-ness <span class="emphasis"><em>elementwise</em></span>. If, for example,
- the two ranges are <code class="computeroutput"><span class="keyword">const</span></code>
- but their elements are lvalue--reference wrappers, then the dereference
- value of the underlying iterator is also lvalue.
- </li>
-<li class="listitem">
- is convertible to an arbitrary container.
- </li>
-</ul></div>
-<a name="boost_assign_v2._.reference.__chain__._code__phrase_role__keyword__namespace__phrase___code_"></a><h6>
-<a name="id36160918"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__._code__phrase_role__keyword__namespace__phrase___code_"><code class="computeroutput"><span class="keyword">namespace</span></code></a>
- </h6>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">adaptor</span><span class="special">;</span>
-</pre>
+<div class="section" title="_chain">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.chain"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain"> <code class="computeroutput">_chain</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.chain.description"></a><h6>
+<a name="id36161659"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.description">Description</a>
+ </h6>
<p>
- </p>
-<a name="boost_assign_v2._.reference.__chain__.synopsis"></a><h6>
-<a name="id36160965"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__.synopsis">Synopsis</a>
- </h6>
+ Takes two <code class="computeroutput">Range</code>,
+ and returns an object modeling <code class="computeroutput">Range</code>
+ and <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.container_convertible" title="ContainerConvertible">ContainerConvertible</a></code>,
+ and <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.range_lvalue" title="RangeLvalue">RangeLvalue</a></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.chain.synopsis"></a><h6>
+<a name="id36161714"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.synopsis">Synopsis</a>
+ </h6>
<p>
-
+
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">></span>
-<span class="keyword">typename</span> result_of<span class="special">::</span>chain<span class="special"><</span><span class="identifier">R1</span><span class="special">,</span><span class="identifier">R2</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="keyword">operator</span><span class="special">|(</span><span class="identifier">U1</span><span class="special">&</span> <span class="identifier">r1</span><span class="special">,</span><span class="identifier">chain_aux</span><span class="special">::</span><span class="identifier">adaptor1</span><span class="special"><</span><span class="identifier">U2</span><span class="special">,</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span><span class="special">>);</span>
+<span class="keyword">typename</span> <em class="replaceable"><code>implementation-defined</code></em><span class="special"><</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">>::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">|(</span> <span class="identifier">U1</span><span class="special">&</span> <span class="identifier">r1</span><span class="special">,</span> <span class="emphasis"><em>unspecified</em></span><span class="special"><</span><span class="identifier">U2</span><span class="special">,</span> use_default<span class="special">></span> <span class="special">);</span>
</pre>
<p>
- </p>
+ </p>
<div class="note" title="Note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../doc/html/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
- <code class="computeroutput"><span class="identifier">U1</span></code> = <code class="computeroutput"><span class="identifier">R1</span></code>
- or <code class="computeroutput"><span class="identifier">R1</span> <span class="keyword">const</span></code>
- and likewise for <code class="computeroutput"><span class="identifier">U2</span></code>.
- </p></td></tr>
+ <code class="computeroutput"><span class="identifier">U1</span></code> = <code class="computeroutput"><span class="identifier">R1</span></code> or <code class="computeroutput"><span class="identifier">R1</span>
+ <span class="keyword">const</span></code> and likewise for <code class="computeroutput"><span class="identifier">U2</span></code>.
+ </p></td></tr>
+</table></div>
+<div class="note" title="Note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><span class="emphasis"><em>unspecified</em></span></code> is the result of calling
+ <code class="computeroutput">_chain<span class="special">(</span> <span class="identifier">r2</span>
+ <span class="special">)</span></code>.
+ </p></td></tr>
</table></div>
-<a name="boost_assign_v2._.reference.__chain__.parameters"></a><h6>
-<a name="id36161168"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__.parameters">Parameters</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.chain.parameters"></a><h6>
+<a name="id36161934"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1774,105 +2287,105 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- R1
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">R1</span></code>
+ </p>
+ </td>
<td>
- <p>
- models Range
- </p>
- </td>
+ <p>
+ models Range
+ </p>
+ </td>
<td>
- <p>
- Range to be chained
- </p>
- </td>
+ <p>
+ Range to be chained
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- R2
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">R2</span></code>
+ </p>
+ </td>
<td>
- <p>
- models Range
- </p>
- </td>
+ <p>
+ models Range
+ </p>
+ </td>
<td>
- <p>
- Range to chain to
- </p>
- </td>
+ <p>
+ Range to chain to
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference.__chain__.expression_semantics"></a><h6>
-<a name="id36161282"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__.expression_semantics">Expression
- Semantics</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.chain.expression_semantics"></a><h6>
+<a name="id36162064"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<p>
-
+
</p>
-<pre class="programlisting"><span class="identifier">r1</span> <span class="special">|</span> <span class="identifier">_chain</span><span class="special">(</span> <span class="identifier">r2</span> <span class="special">);</span>
+<pre class="programlisting"><span class="identifier">r1</span> <span class="special">|</span> <a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain">_chain</a><span class="special">(</span> <span class="identifier">r2</span> <span class="special">);</span>
</pre>
<p>
- </p>
+ </p>
<p>
- <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>chain<span class="special"><</span><span class="identifier">U1</span><span class="special">,</span><span class="identifier">U2</span><span class="special">>::</span><span class="identifier">type</span></code>
- </p>
+ <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>chain<span class="special"><</span><span class="identifier">U1</span><span class="special">,</span><span class="identifier">U2</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Chains two ranges to form one.
- </p>
-<a name="boost_assign_v2._.reference.__chain__.header"></a><h6>
-<a name="id36161385"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: TODO
+ </p>
+<a name="boost_assign_v2._.reference.function.chain.header"></a><h6>
+<a name="id36162167"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.header">Header</a>
+ </h6>
<p>
-
+
</p>
<pre class="programlisting">#include <boost/assign/v2/chain/chain.hpp>
</pre>
<p>
- </p>
-<a name="boost_assign_v2._.reference.__chain__.example"></a><h6>
-<a name="id36161408"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.__chain__.example">Example</a>
- </h6>
+ </p>
+<a name="boost_assign_v2._.reference.function.chain.example"></a><h6>
+<a name="id36162193"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.example">Example</a>
+ </h6>
<p>
-
+
</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">adaptor</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> v<span class="special">(</span> <span class="number">2</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="number">2</span><span class="special">></span> array<span class="special">;</span> array<span class="special">.</span><span class="identifier">assign</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
-v <span class="special">|</span> chain<span class="special">(</span> array <span class="special">);</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span>vector<span class="special"><</span><span class="keyword">int</span><span class="special">></span> v<span class="special">(</span> <span class="number">2</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span>array<span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="number">2</span><span class="special">></span> array<span class="special">;</span> array<span class="special">.</span><span class="identifier">assign</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
+v <span class="special">|</span> _chain<span class="special">(</span> array <span class="special">);</span>
</pre>
<p>
- [heading <code class="computeroutput"><span class="keyword">operator</span><span class="special">&&</span></code>]
- </p>
-<p>
- These are two equivalent ways to chain:
- </p>
+ </p>
+<a name="boost_assign_v2._.reference.function.chain.alternative_syntax"></a><h6>
+<a name="id36162361"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.chain.alternative_syntax">Alternative
+ syntax</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1880,61 +2393,61 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression 1
- </p>
- </th>
+ <p>
+ Expression 1
+ </p>
+ </th>
<th>
- <p>
- Expression 2
- </p>
- </th>
+ <p>
+ Expression 2
+ </p>
+ </th>
</tr></thead>
<tbody><tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">r1</span> <span class="special">|</span> <span class="identifier">_chain</span><span class="special">(</span> <span class="identifier">r2</span> <span class="special">);</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">r1</span> <span class="special">|</span> _chain<span class="special">(</span> <span class="identifier">r2</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">r1</span> <span class="special">&&</span> <span class="identifier">r2</span><span class="special">;</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">r1</span> && <span class="identifier">r2</span><span class="special">;</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
</tr></tbody>
</table></div>
</div>
<div class="section" title="convert">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.___convert___"></a><a class="link" href="index.html#boost_assign_v2._.reference.___convert___" title="convert"><code class="computeroutput">convert</code></a>
-</h4></div></div></div>
-<a name="boost_assign_v2._.reference.___convert___.description"></a><h6>
-<a name="id36161729"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.description">Description</a>
- </h6>
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.convert"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.convert" title="convert"> <code class="computeroutput">convert</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.convert.description"></a><h6>
+<a name="id36162490"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.description">Description</a>
+ </h6>
<p>
- Assigns a Range
- to an arbitrary container.
- </p>
-<a name="boost_assign_v2._.reference.___convert___.synopsis"></a><h6>
-<a name="id36161754"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.synopsis">Synopsis</a>
- </h6>
+ Converts a Range
+ to an arbitrary container.
+ </p>
+<a name="boost_assign_v2._.reference.function.convert.synopsis"></a><h6>
+<a name="id36162515"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.synopsis">Synopsis</a>
+ </h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">To</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">From</span><span class="special">></span>
<span class="identifier">To</span> convert<span class="special">(</span> <span class="identifier">From</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">from</span><span class="special">);</span>
</pre>
-<a name="boost_assign_v2._.reference.___convert___.parameters"></a><h6>
-<a name="id36161844"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.parameters">Parameters</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.convert.parameters"></a><h6>
+<a name="id36162605"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -1943,125 +2456,228 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- From
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">From</span></code>
+ </p>
+ </td>
<td>
- <p>
- models Range
- </p>
- </td>
+ <p>
+ models <code class="literal">Range</code>
+ </p>
+ </td>
<td>
- <p>
- The argument to <code class="computeroutput">convert</code>
- </p>
- </td>
+ <p>
+ The argument to <code class="computeroutput">convert<span class="special">()</span></code>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- To
- </p>
- </td>
+ <p>
+ <code class="computeroutput"><span class="identifier">To</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- The return type of <code class="computeroutput">convert</code>
- </p>
- </td>
+ <p>
+ The return type of <code class="computeroutput">convert<span class="special">()</span></code>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference.___convert___.expression_semantics"></a><h6>
-<a name="id36161964"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.expression_semantics">Expression
- Semantics</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.convert.expression_semantics"></a><h6>
+<a name="id36162753"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<p>
-
+
</p>
-<pre class="programlisting"><span class="identifier">convert</span><span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
+<pre class="programlisting">convert<span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
</pre>
<p>
- </p>
+ </p>
<p>
- <span class="bold"><strong>Return type</strong></span>: To
- </p>
+ <span class="bold"><strong>Return type</strong></span>: To
+ </p>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Assigns <code class="computeroutput"><span class="identifier">to</span></code>
- with the elements of <code class="computeroutput"><span class="identifier">from</span></code>
- </p>
-<a name="boost_assign_v2._.reference.___convert___.header"></a><h6>
-<a name="id36162048"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: Creates a container of type
+ <code class="computeroutput"><span class="identifier">To</span></code> with the elements
+ of <code class="computeroutput"><span class="identifier">from</span></code>
+ </p>
+<a name="boost_assign_v2._.reference.function.convert.header"></a><h6>
+<a name="id36162834"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.header">Header</a>
+ </h6>
<pre class="programlisting">#include <boost/assign/v2/put/range.hpp>
</pre>
-<a name="boost_assign_v2._.reference.___convert___.example"></a><h6>
-<a name="id36162070"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___convert___.example">Example</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.convert.example"></a><h6>
+<a name="id36162856"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.convert.example">Example</a>
+ </h6>
<p>
-
+
</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">from</span><span class="special">;</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">0</span> <span class="special">);</span>
-<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">to_</span><span class="special">;</span>
-<span class="identifier">to_</span> <span class="identifier">to</span> <span class="special">=</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">convert</span><span class="special"><</span><span class="identifier">to_</span><span class="special">>();</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span>vector<span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">from</span><span class="special">;</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">0</span> <span class="special">);</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span>queue<span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">to_</span><span class="special">;</span>
+<span class="identifier">to_</span> <span class="identifier">to</span> <span class="special">=</span> <span class="identifier">from</span><span class="special">.</span>convert<span class="special"><</span><span class="identifier">to_</span><span class="special">>();</span>
</pre>
<p>
- </p>
+ </p>
+</div>
+<div class="section" title="constructor">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.constructor"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.constructor" title="constructor">
+ <code class="computeroutput">constructor</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.constructor.description"></a><h6>
+<a name="id36163066"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.description">Description</a>
+ </h6>
+<p>
+ Returns a constructor;
+ </p>
+<a name="boost_assign_v2._.reference.function.constructor.syntax"></a><h6>
+<a name="id36163085"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.syntax">Syntax</a>
+ </h6>
+<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> result_of<span class="special">::</span>constructor<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
+ constructor<span class="special">();</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign_v2._.reference.function.constructor.parameters"></a><h6>
+<a name="id36163163"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.parameters">Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="literal">T</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type to construct
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.function.constructor.expression_semantics"></a><h6>
+<a name="id36163235"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">constructor<span class="special"><</span><span class="identifier">T</span><span class="special">>();</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>constructor<span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>: Returns a constructor modeling
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.constructor.header"></a><h6>
+<a name="id36163323"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/functor/constructor.hpp>
+</pre>
+<p>
+ </p>
+<a name="boost_assign_v2._.reference.function.constructor.example"></a><h6>
+<a name="id36163349"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.constructor.example">Example</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special"><</span>tuple<span class="special"><</span><span class="keyword">int</span><span class="special">&,</span><span class="keyword">int</span><span class="special">&></span> <span class="special">>();</span>
+</pre>
+<p>
+ </p>
</div>
<div class="section" title="put_range">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.___put_range___"></a><a class="link" href="index.html#boost_assign_v2._.reference.___put_range___" title="put_range"><code class="computeroutput">put_range</code></a>
-</h4></div></div></div>
-<a name="boost_assign_v2._.reference.___put_range___.description"></a><h6>
-<a name="id36162280"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.description">Description</a>
- </h6>
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.put_range"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.put_range" title="put_range">
+ <code class="computeroutput">put_range</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.put_range.description"></a><h6>
+<a name="id36163426"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.description">Description</a>
+ </h6>
<p>
- Puts the elements of a Range
- into an arbitrary container.
- </p>
-<a name="boost_assign_v2._.reference.___put_range___.synopsis"></a><h6>
-<a name="id36162305"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.synopsis">Synopsis</a>
- </h6>
+ Puts the elements of a Range
+ into an arbitrary container.
+ </p>
+<a name="boost_assign_v2._.reference.function.put_range.synopsis"></a><h6>
+<a name="id36163452"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.synopsis">Synopsis</a>
+ </h6>
<p>
-
+
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">From</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">To</span><span class="special">></span>
-<span class="identifier">To</span><span class="special">&</span> <span class="identifier">put_range</span><span class="special">(</span> <span class="identifier">From</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">To</span><span class="special">&</span> <span class="identifier">to</span> <span class="special">);</span>
+<span class="identifier">To</span><span class="special">&</span> put_range<span class="special">(</span> <span class="identifier">From</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">To</span><span class="special">&</span> <span class="identifier">to</span> <span class="special">);</span>
</pre>
<p>
- </p>
-<a name="boost_assign_v2._.reference.___put_range___.parameters"></a><h6>
-<a name="id36162415"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.parameters">Parameters</a>
- </h6>
+ </p>
+<a name="boost_assign_v2._.reference.function.put_range.parameters"></a><h6>
+<a name="id36163558"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2070,115 +2686,114 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- From
- </p>
- </td>
+ <p>
+ From
+ </p>
+ </td>
<td>
- <p>
- models Range
- </p>
- </td>
+ <p>
+ models Range
+ </p>
+ </td>
<td>
- <p>
- The first argument to <code class="computeroutput">put_range</code>
- </p>
- </td>
+ <p>
+ The first argument to <code class="computeroutput">put_range</code>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- To
- </p>
- </td>
+ <p>
+ To
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- The second argument to <code class="computeroutput">put_range</code>
- </p>
- </td>
+ <p>
+ The second argument to <code class="computeroutput">put_range</code>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference.___put_range___.expression_semantics"></a><h6>
-<a name="id36162536"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.expression_semantics">Expression
- Semantics</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.put_range.expression_semantics"></a><h6>
+<a name="id36163680"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<p>
-
+
</p>
-<pre class="programlisting"><span class="identifier">put_range</span><span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
+<pre class="programlisting">put_range<span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
</pre>
<p>
- </p>
+ </p>
<p>
- <span class="bold"><strong>Return type</strong></span>: To&
- </p>
+ <span class="bold"><strong>Return type</strong></span>: To&
+ </p>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Puts the elements in <code class="computeroutput"><span class="identifier">from</span></code> into <code class="computeroutput"><span class="identifier">to</span></code>.
- </p>
-<a name="boost_assign_v2._.reference.___put_range___.header"></a><h6>
-<a name="id36162621"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: Puts the elements in <code class="computeroutput"><span class="identifier">from</span></code> into <code class="computeroutput"><span class="identifier">to</span></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.put_range.header"></a><h6>
+<a name="id36163761"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.header">Header</a>
+ </h6>
<pre class="programlisting">#include <boost/assign/v2/put/range.hpp>
</pre>
-<a name="boost_assign_v2._.reference.___put_range___.example"></a><h6>
-<a name="id36162643"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_range___.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">from</span><span class="special">;</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">0</span> <span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">to</span><span class="special">;</span>
-<span class="identifier">put_range</span><span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
+<a name="boost_assign_v2._.reference.function.put_range.example"></a><h6>
+<a name="id36163784"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put_range.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span>vector<span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">from</span><span class="special">;</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span> <span class="identifier">from</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">0</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span>queue<span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">to</span><span class="special">;</span>
+put_range<span class="special">(</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">to</span> <span class="special">);</span>
</pre>
</div>
-<div class="section" title="put_wrapper">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference.___put_wrapper___"></a><a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___" title="put_wrapper"><code class="computeroutput">put_wrapper</code></a>
-</h4></div></div></div>
-<a name="boost_assign_v2._.reference.___put_wrapper___.description"></a><h6>
-<a name="id36162832"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.description">Description</a>
- </h6>
+<div class="section" title="put">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.put"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.put" title="put"> <code class="computeroutput">put</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.put.description"></a><h6>
+<a name="id36163970"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.description">Description</a>
+ </h6>
<p>
- Wraps around a container to be able to put elements into it, with a <span class="emphasis"><em>functor</em></span>
- or <span class="emphasis"><em>csv</em></span> interface.
- </p>
-<a name="boost_assign_v2._.reference.___put_wrapper___.synopsis"></a><h6>
-<a name="id36162859"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.synopsis">Synopsis</a>
- </h6>
+ Returns an object of type <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.class.put_wrapper" title="put_aux::put_wrapper">put_aux::put_wrapper</a><span class="special"><></span></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.put.synopsis"></a><h6>
+<a name="id36164001"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.synopsis">Synopsis</a>
+ </h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">V</span><span class="special">></span>
-<span class="keyword">typename</span> result_of<span class="special">::</span>put_wrapper<span class="special"><</span><span class="identifier">V</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">put_wrapper</span><span class="special">(</span> <span class="identifier">V</span><span class="special">&</span> v<span class="special">);</span>
+<span class="keyword">typename</span> result_of<span class="special">::</span>put<span class="special"><</span><span class="identifier">V</span><span class="special">>::</span><span class="identifier">type</span>
+put<span class="special">(</span> <span class="identifier">V</span><span class="special">&</span> v <span class="special">);</span>
</pre>
-<a name="boost_assign_v2._.reference.___put_wrapper___.parameters"></a><h6>
-<a name="id36162952"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.parameters">Parameters</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.put.parameters"></a><h6>
+<a name="id36164090"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2187,157 +2802,83 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody><tr>
<td>
- <p>
- V
- </p>
- </td>
+ <p>
+ V
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- The argument to <code class="computeroutput">put_wrapper</code>
- </p>
- </td>
+ <p>
+ The argument to <code class="computeroutput">put</code>
+ </p>
+ </td>
</tr></tbody>
</table></div>
-<a name="boost_assign_v2._.reference.___put_wrapper___.expression_semantics"></a><h6>
-<a name="id36163040"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.expression_semantics">Expression
- Semantics</a>
- </h6>
-<pre class="programlisting"><span class="identifier">put_wrapper</span><span class="special">(</span> <span class="identifier">v</span> <span class="special">);</span>
+<a name="boost_assign_v2._.reference.function.put.expression_semantics"></a><h6>
+<a name="id36164178"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<pre class="programlisting">put<span class="special">(</span> <span class="identifier">v</span> <span class="special">);</span>
</pre>
<p>
- <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>put_wrapper<span class="special"><</span><span class="identifier">V</span><span class="special">>::</span><span class="identifier">type</span></code>
- </p>
+ <span class="bold"><strong>Return type</strong></span>: <code class="computeroutput">result_of<span class="special">::</span>put<span class="special"><</span><span class="identifier">V</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Creates an <code class="computeroutput"><span class="identifier">object</span></code>
- with a <span class="emphasis"><em>functor</em></span> or <span class="emphasis"><em>csv</em></span> interface.
- </p>
-<a name="boost_assign_v2._.reference.___put_wrapper___.header"></a><h6>
-<a name="id36163136"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: TODO
+ </p>
+<a name="boost_assign_v2._.reference.function.put.header"></a><h6>
+<a name="id36164256"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.header">Header</a>
+ </h6>
<pre class="programlisting">#include <boost/assign/v2/put/put.hpp>
</pre>
-<a name="boost_assign_v2._.reference.___put_wrapper___.example"></a><h6>
-<a name="id36163159"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference.___put_wrapper___.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> v<span class="special">;</span>
-<span class="identifier">put_wrapper</span><span class="special">(</span> v <span class="special">);</span>
+<a name="boost_assign_v2._.reference.function.put.example"></a><h6>
+<a name="id36164277"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.put.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span>vector<span class="special"><</span><span class="keyword">int</span><span class="special">></span> v<span class="special">;</span>
+put<span class="special">(</span> v <span class="special">);</span>
</pre>
</div>
<div class="section" title="ref::anon">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_assign_v2._.reference._ref____anon___"></a><a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___" title="ref::anon"><code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span>anon</code></a>
-</h4></div></div></div>
-<a name="boost_assign_v2._.reference._ref____anon___.namespace"></a><h6>
-<a name="id36163245"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.namespace">Namespace</a>
- </h6>
-<p>
-
-</p>
-<pre class="programlisting">#include <boost/assign/v2/ref/ref.hpp>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<a name="boost_assign_v2._.reference._ref____anon___.background_on_assign_semantics"></a><h6>
-<a name="id36163291"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.background_on_assign_semantics">Background
- on assign semantics</a>
- </h6>
-<p>
- Let a reference wrapper, <code class="computeroutput">w</code>, bind to some reference <code class="computeroutput"><span class="identifier">y1</span></code> and that it is assigned as follows:
-
-</p>
-<pre class="programlisting">w <span class="special">=</span> <span class="identifier">y2</span><span class="special">;</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">y2</span></code> is of the same
- type as <code class="computeroutput"><span class="identifier">y1</span></code>. There are two
- possible semantics which are captured by the concepts below:
- </p>
-<div class="table">
-<a name="boost_assign_v2._.reference._ref____anon___.concepts"></a><p class="title"><b>Table 1.7. Concepts</b></p>
-<div class="table-contents"><table class="table" summary="Concepts">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Requirement
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <span class="emphasis"><em>AssignCopy</em></span>
- </p>
- </td>
-<td>
- <p>
- y2 == y1;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="emphasis"><em>AssignRebind</em></span>
- </p>
- </td>
-<td>
- <p>
- &y2 == &y1;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><a name="boost_assign_v2._.reference._ref____anon___.description"></a><h6>
-<a name="id36163439"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.description">Description</a>
- </h6>
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.ref_anon"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">
+ <code class="computeroutput">ref<span class="special">::</span>anon</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.ref_anon.description"></a><h6>
+<a name="id36164358"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.description">Description</a>
+ </h6>
<p>
- Creates a collection of references.
- </p>
-<a name="boost_assign_v2._.reference._ref____anon___.synopsis"></a><h6>
-<a name="id36163459"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.synopsis">Synopsis</a>
- </h6>
+ Returns an object of type <code class="computeroutput">ref<span class="special">::</span><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_anon_cont" title="ref::anon_aux::cont">anon_aux::cont</a><span class="special"><></span></code> with <code class="computeroutput"><span class="identifier">Tag2</span>
+ <span class="special">=</span> ref<span class="special">::</span>alloc_tag::lazy_alloc</code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_anon.synopsis"></a><h6>
+<a name="id36164414"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.synopsis">Synopsis</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2345,76 +2886,74 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Syntax
- </p>
- </th>
+ <p>
+ Syntax
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</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">result_of</span><span class="special">::</span><span class="identifier">anon_nil</span><span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
-<span class="identifier">anon</span><span class="special">(</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">nil</span> <span class="special">);</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">typename</span> ref<span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span>anon_nil<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> anon<span class="special">(</span> <span class="emphasis"><em>unspecified</em></span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</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">result_of</span><span class="special">::</span><span class="identifier">anon</span><span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</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">result_of</span><span class="special">::</span>ref<span class="special">::</span>anon<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> ref<span class="special">::</span>anon<span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> t <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
-
+ <p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</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">result_of</span><span class="special">::</span><span class="identifier">anon</span><span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span>
- <span class="identifier">anon</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">t</span><span class="special">);</span>
- </pre>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">typename</span> ref<span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span>anon<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span>
+ref<span class="special">::</span>anon<span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t <span class="special">);</span>
+</pre>
<p>
- </p>
- </td>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(3)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference._ref____anon___.parameters"></a><h6>
-<a name="id36163881"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.parameters">Parameters</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.ref_anon.parameters"></a><h6>
+<a name="id36164847"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.parameters">Parameters</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2423,63 +2962,64 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Parameter
- </p>
- </th>
+ <p>
+ Parameter
+ </p>
+ </th>
<th>
- <p>
- Requirement
- </p>
- </th>
+ <p>
+ Requirement
+ </p>
+ </th>
<th>
- <p>
- Description
- </p>
- </th>
+ <p>
+ Description
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- Tag1
- </p>
- </td>
+ <p>
+ <code class="literal">Tag1</code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- Controls assignement semantics
- </p>
- </td>
+ <p>
+ Controls the <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- T
- </p>
- </td>
+ <p>
+ <code class="literal">T</code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>unspecified</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
<td>
- <p>
- Value of the element(s) to reference to
- </p>
- </td>
+ <p>
+ Value of the element(s) to reference to
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
-<a name="boost_assign_v2._.reference._ref____anon___.expression_semantics"></a><h6>
-<a name="id36163991"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.expression_semantics">Expression
- Semantics</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.ref_anon.expression_semantics"></a><h6>
+<a name="id36164972"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2487,46 +3027,46 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression
- </p>
- </th>
+ <p>
+ Expression
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">anon</span><span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span> _nil <span class="special">);</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span> _nil <span class="special">);</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput"><span class="identifier">anon</span><span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span> t <span class="special">);</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span> t <span class="special">);</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
<p>
- <span class="bold"><strong>Return type</strong></span>:
- </p>
+ <span class="bold"><strong>Return type</strong></span>:
+ </p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2534,68 +3074,70 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression
- </p>
- </th>
+ <p>
+ Expression
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Designation
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- <code class="computeroutput">result_of<span class="special">::</span>anon_nil<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>anon_nil<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(1)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput">result_of<span class="special">::</span>anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>anon<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
</tr>
<tr>
<td>
- <p>
- <code class="computeroutput">result_of<span class="special">::</span>anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">,</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
- </p>
- </td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>anon<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span>
+ <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
<td>
- <p>
- <span class="emphasis"><em>(3)</em></span>
- </p>
- </td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
</tr>
</tbody>
</table></div>
<p>
- <span class="bold"><strong>Semantics</strong></span>: Creates a collection of references.
- </p>
-<a name="boost_assign_v2._.reference._ref____anon___.header"></a><h6>
-<a name="id36164338"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.header">Header</a>
- </h6>
+ <span class="bold"><strong>Semantics</strong></span>: TODO
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_anon.header"></a><h6>
+<a name="id36165348"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.header">Header</a>
+ </h6>
<pre class="programlisting">#include <boost/assign/v2/ref/ref.hpp>
</pre>
-<a name="boost_assign_v2._.reference._ref____anon___.example"></a><h6>
-<a name="id36164361"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.example">Example</a>
- </h6>
+<a name="boost_assign_v2._.reference.function.ref_anon.alternative_syntax"></a><h6>
+<a name="id36165371"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.alternative_syntax">Alternative
+ syntax</a>
+ </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -2603,162 +3145,860 @@
</colgroup>
<thead><tr>
<th>
- <p>
- Expression
- </p>
- </th>
+ <p>
+ Expression1
+ </p>
+ </th>
<th>
- <p>
- Designation
- </p>
- </th>
+ <p>
+ Expression2
+ </p>
+ </th>
</tr></thead>
<tbody>
<tr>
<td>
- <p>
- <code class="computeroutput">anon<span class="special"><</span><span class="keyword">int</span>
- <span class="keyword">const</span><span class="special">>(</span>
- _nil <span class="special">)(</span> <span class="number">1</span>
- <span class="special">)(</span> <span class="number">2</span>
- <span class="special">)(</span> <span class="number">3</span>
- <span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>(1)</em></span>
- </p>
- </td>
-</tr>
-<tr>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>anon<span class="special"><</span>ref<span class="special">::</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">::</span><span class="identifier">copy</span><span class="special">>(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
<td>
- <p>
-
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>assign_copy<span class="special">::</span>anon<span class="special">(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>anon<span class="special"><</span>ref<span class="special">::</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">::</span><span class="identifier">assign</span><span class="special">>(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>assign_rebind<span class="special">::</span>anon<span class="special">(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.function.ref_anon.example"></a><h6>
+<a name="id36165591"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon.example">Example</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Designation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>anon<span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">>(</span> _nil <span class="special">)(</span>
+ <span class="number">1</span> <span class="special">)(</span>
+ <span class="number">2</span> <span class="special">)(</span>
+ <span class="number">3</span> <span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> a<span class="special">,</span> b<span class="special">,</span> c<span class="special">;</span>
+ref<span class="special">::</span>anon<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>anon<span class="special">(</span>
+ <span class="number">1</span> <span class="special">)(</span>
+ <span class="number">2</span> <span class="special">)(</span>
+ <span class="number">3</span> <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" title="ref::csv_anon">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.function.ref_csv_anon"></a><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon" title="ref::csv_anon">
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.description"></a><h6>
+<a name="id36165891"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.description">Description</a>
+ </h6>
+<p>
+ Returns an object of type <code class="computeroutput">ref<span class="special">::</span><a class="link" href="index.html#boost_assign_v2._.reference.class.ref_fast_alloc" title="ref::anon_aux::fast_alloc">anon_aux::fast_alloc</a><span class="special"><></span></code>.
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.synopsis"></a><h6>
+<a name="id36165933"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.synopsis">Synopsis</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Syntax
+ </p>
+ </th>
+<th>
+ <p>
+ Designation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">typename</span> ref<span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span>csv_anon<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> csv_anon<span class="special">(</span> <span class="emphasis"><em>unspecified</em></span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</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">result_of</span><span class="special">::</span>ref<span class="special">::</span>csv_anon<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> ref<span class="special">::</span>csv_anon<span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">typename</span> ref<span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span>csv_anon<span class="special"><</span><span class="identifier">Tag1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span>
+ref<span class="special">::</span>csv_anon<span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.parameters"></a><h6>
+<a name="id36166388"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.parameters">Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Requirement
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="literal">Tag1</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Controls the <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">reference
+ assign semantics</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="literal">T</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>unspecified</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Value of the element(s) to reference to
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.expression_semantics"></a><h6>
+<a name="id36166517"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Designation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span>
+ _nil <span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon<span class="special"><</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">>(</span>
+ t <span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span> and <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Return type</strong></span>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Designation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>csv_anon<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>csv_anon<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>result_of<span class="special">::</span>csv_anon<span class="special"><</span><a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment"><em class="replaceable"><code>ref-assign-tag</code></em></a><span class="special">,</span><span class="identifier">T</span>
+ <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>: TODO
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.header"></a><h6>
+<a name="id36166914"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.header">Header</a>
+ </h6>
+<pre class="programlisting">#include <boost/assign/v2/ref/ref.hpp>
+</pre>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.alternative_syntax"></a><h6>
+<a name="id36166940"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.alternative_syntax">Alternative
+ syntax</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression1
+ </p>
+ </th>
+<th>
+ <p>
+ Expression2
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>csv_anon<span class="special"><</span>ref<span class="special">::</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">::</span><span class="identifier">copy</span><span class="special">>(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>assign_copy<span class="special">::</span>csv_anon<span class="special">(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>anon<span class="special"><</span>ref<span class="special">::</span><em class="replaceable"><code>ref-assign-tag</code></em><span class="special">::</span><span class="identifier">assign</span><span class="special">>(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">ref<span class="special">::</span>assign_rebind<span class="special">::</span>csv_anon<span class="special">(</span> t <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.model_of"></a><h6>
+<a name="id36167297"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.model_of">Model
+ of</a>
+ </h6>
+<p>
+ <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.design"></a><h6>
+<a name="id36167329"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.design">Design</a>
+ </h6>
+<p>
+ Recall that <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">anon</a></code>
+ returns an object with a dual syntax: <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">K-Ary</a></code>
+ and <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>.
+ In the <code class="computeroutput">ref</code> framework, <code class="computeroutput"><span class="identifier">_ns_ref__</span><span class="special">::</span><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">anon</a></code>
+ returns a <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Unary</a></code>
+ object and <code class="computeroutput">ref<span class="special">::</span><a class="link" href="index.html#boost_assign_v2._.reference.function.ref_anon" title="ref::anon">csv_anon</a></code>,
+ itself modeling <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.concept.fun_syntax" title="Function syntax">Csv</a></code>,
+ returns an <code class="computeroutput">array</code>
+ of references. This separation of interface achieves better speed in
+ constructing the objects.
+ </p>
+<a name="boost_assign_v2._.reference.function.ref_csv_anon.example"></a><h6>
+<a name="id36167457"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.function.ref_csv_anon.example">Example</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Designation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon<span class="special"><</span><span class="keyword">int</span>
+ <span class="keyword">const</span><span class="special">>(</span>
+ _nil <span class="special">)(</span> <span class="number">1</span>
+ <span class="special">)(</span> <span class="number">2</span>
+ <span class="special">)(</span> <span class="number">3</span>
+ <span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(1)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> a<span class="special">,</span> b<span class="special">,</span> c<span class="special">;</span>
+ref<span class="special">::</span>csv_anon<span class="special">(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(2)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">ref<span class="special">::</span>csv_anon<span class="special">(</span> <span class="number">1</span>
+ <span class="special">)(</span> <span class="number">2</span>
+ <span class="special">)(</span> <span class="number">3</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>(3)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="section" title="Keyword">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2._.reference.keyword"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword" title="Keyword">Keyword</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> _deduce
</span></dt>
+<dt><span class="section"> _fun
</span></dt>
+<dt><span class="section"> _nil
</span></dt>
+<dt><span class="section"> _unwrap
</span></dt>
+<dt><span class="section"><a href="index.html#boost_assign_v2._.reference.keyword.incr_lookup">
+ <code class="computeroutput">_incr_lookup</code></a></span></dt>
+<dt><span class="section"> _repeat
</span></dt>
+<dt><span class="section"> _put_tag
</span></dt>
+</dl></div>
+<div class="section" title="_deduce">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.deduce"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.deduce" title="_deduce"> <code class="computeroutput">_deduce</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.deduce.expression_semantics"></a><h6>
+<a name="id36167768"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.deduce.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">object <span class="special">%</span> _deduce<span class="special">;</span>
+</pre>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.deduce.header"></a><h6>
+<a name="id36167827"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.deduce.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section" title="_fun">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.fun"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.fun" title="_fun"> <code class="computeroutput">_fun</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.fun.expression_semantics"></a><h6>
+<a name="id36167876"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.fun.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span> _fun <span class="special">=</span> <span class="identifier">f</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.fun.header"></a><h6>
+<a name="id36167953"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.fun.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section" title="_nil">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.nil"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.nil" title="_nil"> <code class="computeroutput">_nil</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.nil.expression_semantics"></a><h6>
+<a name="id36168002"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.nil.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span> _nil <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.nil.header"></a><h6>
+<a name="id36168068"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.nil.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section" title="_unwrap">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.unwrap"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.unwrap" title="_unwrap"> <code class="computeroutput">_unwrap</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.unwrap.expression_semantics"></a><h6>
+<a name="id36168118"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.unwrap.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="emphasis"><em>unspecified</em></span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.unwrap.header"></a><h6>
+<a name="id36168172"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.unwrap.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section" title="_incr_lookup">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.incr_lookup"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.incr_lookup" title="_incr_lookup">
+ <code class="computeroutput">_incr_lookup</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.incr_lookup.expression_semantics"></a><h6>
+<a name="id36168221"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.incr_lookup.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="emphasis"><em>unspecified</em></span>
+</pre>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.incr_lookup.header"></a><h6>
+<a name="id36168272"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.incr_lookup.header">Header</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section" title="_repeat">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.repeat"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.repeat" title="_repeat"> <code class="computeroutput">_repeat</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.repeat.expression_semantics"></a><h6>
+<a name="id36168321"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.repeat.expression_semantics">Expression
+ Semantics</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span> _repeat <span class="special">=</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> <span class="emphasis"><em>unspecified</em></span>
+ </p>
+<a name="boost_assign_v2._.reference.keyword.repeat.header"></a><h6>
+<a name="id36168398"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.repeat.header">Header</a>
+ </h6>
+<p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> a<span class="special">,</span> b<span class="special">,</span> c<span class="special">;</span>
-anon<span class="special"><</span><span class="keyword">int</span><span class="special">>(</span> a <span class="special">)(</span> b <span class="special">)(</span> c <span class="special">);</span>
+<pre class="programlisting">#include <boost/assign/v2/detail/keywords/keywords.hpp>
</pre>
<p>
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>(2)</em></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput">anon<span class="special">(</span> <span class="number">1</span>
- <span class="special">)(</span> <span class="number">2</span>
- <span class="special">)(</span> <span class="number">3</span>
- <span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>(3)</em></span>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<a name="boost_assign_v2._.reference._ref____anon___.copy_semantics"></a><h6>
-<a name="id36164618"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.copy_semantics">Copy
- semantics</a>
- </h6>
+ </p>
+</div>
+<div class="section" title="_put_tag">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign_v2._.reference.keyword.put_kwd"></a><a class="link" href="index.html#boost_assign_v2._.reference.keyword.put_kwd" title="_put_tag"> <code class="computeroutput">_put_tag</code></a>
+</h5></div></div></div>
+<a name="boost_assign_v2._.reference.keyword.put_kwd.expression_semantics"></a><h6>
+<a name="id36168447"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.put_kwd.expression_semantics">Expression
+ Semantics</a>
+ </h6>
<p>
- The two expresions below are equivalent
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression1
- </p>
- </th>
-<th>
- <p>
- Expression2
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
-
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">anon</span><span class="special"><</span><span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">copy</span><span class="special">>(</span> t <span class="special">);</span>
+<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span>_put_tag <span class="special">=</span> <em class="replaceable"><code>put-tag</code></em><span class="special">());</span>
</pre>
<p>
- </p>
- </td>
-<td>
- <p>
-
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">assign_copy</span><span class="special">;</span>
-<span class="identifier">anon</span><span class="special">(</span> t <span class="special">);</span>
-</pre>
+ </p>
<p>
- </p>
- </td>
-</tr></tbody>
+ <span class="bold"><strong>Return type</strong></span> <em class="replaceable"><code>implementation-defined</code></em>
+ </p>
+<p>
+ <span class="bold"><strong>Semantics</strong></span> Selects a container modifier.
+ </p>
+<div class="table">
+<a name="boost_assign_v2._.reference.keyword.put_kwd.candidate_tags_"></a><p class="title"><b>Table 1.7. Candidate tags.</b></p>
+<div class="table-contents"><table class="table" summary="Candidate tags.">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Name
+ </p>
+ </th></tr></thead>
+<tbody>
+<tr><td>
+ <p>
+ <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">at_next</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">insert</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">push</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput">put_tag<span class="special">::</span><span class="identifier">push_back</span></code>
+ </p>
+ </td></tr>
+</tbody>
</table></div>
-<a name="boost_assign_v2._.reference._ref____anon___.rebind_semantics"></a><h6>
-<a name="id36164759"></a>
- <a class="link" href="index.html#boost_assign_v2._.reference._ref____anon___.rebind_semantics">Rebind
- semantics</a>
- </h6>
+</div>
+<br class="table-break"><a name="boost_assign_v2._.reference.keyword.put_kwd.header"></a><h6>
+<a name="id36168649"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.put_kwd.header">Header</a>
+ </h6>
<p>
- The two expresions below are equivalent
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression1
- </p>
- </th>
-<th>
- <p>
- Expression2
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
-
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">anon</span><span class="special"><</span><span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">rebind</span><span class="special">>(</span> t <span class="special">);</span>
+<pre class="programlisting">#include <boost/assign/v2/put/put.hpp>
</pre>
<p>
- </p>
- </td>
-<td>
- <p>
-
+ </p>
+<a name="boost_assign_v2._.reference.keyword.put_kwd.example"></a><h6>
+<a name="id36168678"></a>
+ <a class="link" href="index.html#boost_assign_v2._.reference.keyword.put_kwd.example">Example</a>
+ </h6>
+<p>
+
</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">assign_rebind</span><span class="special">;</span>
-<span class="identifier">anon</span><span class="special">(</span> t <span class="special">);</span>
+<pre class="programlisting">object <span class="special">%</span> <span class="special">(</span> _put_tag <span class="special">=</span> put_tag<span class="special">::</span><span class="identifier">push</span><span class="special">()</span> <span class="special">);</span>
</pre>
<p>
- </p>
- </td>
-</tr></tbody>
-</table></div>
+ </p>
+</div>
</div>
</div>
<div class="section" title="Portability">
@@ -2766,7 +4006,7 @@
<a name="boost_assign_v2._.portability_"></a><a class="link" href="index.html#boost_assign_v2._.portability_" title="Portability">Portability </a>
</h3></div></div></div>
<a name="boost_assign_v2._.portability_.methodology"></a><h5>
-<a name="id36164910"></a>
+<a name="id36168757"></a>
<a class="link" href="index.html#boost_assign_v2._.portability_.methodology">Methodology</a>
</h5>
<p>
@@ -2776,144 +4016,78 @@
<li class="listitem">
At compile time, that the method deduced for modifying the container agrees
with one that is explicitly specified. For example, it verifies that <code class="computeroutput"><span class="identifier">push</span><span class="special">()</span></code>
- is the method used for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span></code>.
+ is the method used for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>queue<span class="special"><></span></code>.
</li>
<li class="listitem">
At runtime time, that the container returned by
-<pre class="programlisting"><span class="identifier">convert</span><span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
+<pre class="programlisting"><a class="link" href="index.html#boost_assign_v2._.reference.function.convert" title="convert">convert</a><span class="special"><</span><span class="identifier">To</span><span class="special">>(</span> <span class="identifier">from</span> <span class="special">);</span>
</pre>
has the same elements as that of <code class="computeroutput"><span class="identifier">from</span></code>,
where <code class="computeroutput"><span class="identifier">To</span></code> is the type of
the container being tested.
</li>
</ul></div>
-<div class="table">
-<a name="boost_assign_v2._.portability_.containers_tested"></a><p class="title"><b>Table 1.8. Containers tested</b></p>
-<div class="table-contents"><table class="table" summary="Containers tested">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
+<a name="boost_assign_v2._.portability_.containers_tested"></a><h5>
+<a name="id36168880"></a>
+ <a class="link" href="index.html#boost_assign_v2._.portability_.containers_tested">Containers
+ tested</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
<p>
Container
</p>
- </th>
-<th>
- <p>
- Result
- </p>
- </th>
-</tr></thead>
+ </th></tr></thead>
<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special"><></span></code>
- </p>
- </td>
-<td>
- <p>
- OK
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special"><></span></code>
- </p>
- </td>
-<td>
- <p>
- OK
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><></span></code>
- </p>
- </td>
-<td>
- <p>
- OK
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special"><></span></code>
- </p>
- </td>
-<td>
- <p>
- OK
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><></span></code>
- </p>
- </td>
-<td>
+<tr><td>
<p>
- OK
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span>array<span class="special"><></span></code>
</p>
- </td>
-</tr>
-<tr>
-<td>
+ </td></tr>
+<tr><td>
<p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><></span></code>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>deque<span class="special"><></span></code>
</p>
- </td>
-<td>
+ </td></tr>
+<tr><td>
<p>
- OK
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>list<span class="special"><></span></code>
</p>
- </td>
-</tr>
-<tr>
-<td>
+ </td></tr>
+<tr><td>
<p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stack</span><span class="special"><></span></code>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>queue<span class="special"><></span></code>
</p>
- </td>
-<td>
+ </td></tr>
+<tr><td>
<p>
- OK
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>set<span class="special"><></span></code>
</p>
- </td>
-</tr>
-<tr>
-<td>
+ </td></tr>
+<tr><td>
<p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><></span></code>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>stack<span class="special"><></span></code>
</p>
- </td>
-<td>
+ </td></tr>
+<tr><td>
<p>
- OK
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span>vector<span class="special"><></span></code>
</p>
- </td>
-</tr>
+ </td></tr>
</tbody>
</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="boost_assign_v2._.portability_.tests"></a><p class="title"><b>Table 1.9. Tests</b></p>
-<div class="table-contents"><table class="table" summary="Tests">
+<a name="boost_assign_v2._.portability_.test_results"></a><h5>
+<a name="id36169147"></a>
+ <a class="link" href="index.html#boost_assign_v2._.portability_.test_results">Test results</a>
+ </h5>
+<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
<col>
+<col>
</colgroup>
<thead><tr>
<th>
@@ -2928,6 +4102,11 @@
</th>
<th>
<p>
+ Boost version
+ </p>
+ </th>
+<th>
+ <p>
Date
</p>
</th>
@@ -2950,6 +4129,11 @@
</td>
<td>
<p>
+ <code class="literal">1.41</code>
+ </p>
+ </td>
+<td>
+ <p>
August 2nd, 2010
</p>
</td>
@@ -2960,9 +4144,8 @@
</td>
</tr></tbody>
</table></div>
-</div>
-<br class="table-break"><a name="boost_assign_v2._.portability_.dependencies"></a><h5>
-<a name="id36165423"></a>
+<a name="boost_assign_v2._.portability_.dependencies"></a><h5>
+<a name="id36169268"></a>
<a class="link" href="index.html#boost_assign_v2._.portability_.dependencies">Dependencies</a>
</h5>
<p>
@@ -2971,20 +4154,42 @@
and need to be in the search path.
</p>
</div>
+<div class="section" title="Bug">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2._.bug"></a><a class="link" href="index.html#boost_assign_v2._.bug" title="Bug">Bug</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ Copying to <code class="computeroutput"><a class="link" href="index.html#boost_assign_v2._.reference.function.chain" title="_chain">chain</a></code>ed
+ ranges of <a class="link" href="index.html#boost_assign_v2._.reference.concept.ref_assign" title="Reference assignment">references</a>
+ works with <code class="computeroutput">array<span class="special"><></span></code> as input, but not, for example,
+ <code class="computeroutput">vector<span class="special"><></span></code>.
+ </li></ul></div>
+</div>
+<div class="section" title="Feature request">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2._.feature_request"></a><a class="link" href="index.html#boost_assign_v2._.feature_request" title="Feature request">Feature request</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Pointers
+ </li>
+<li class="listitem"><a href="http://old.nabble.com/Re%3A--mini-review--Update-of-Boost.Assign-%2813th-19th-of-June%29-p28899870.html" target="_top">Perfect
+ forwarding</a></li>
+</ul></div>
+</div>
<div class="section" title="Change log">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_assign_v2._.change_log"></a><a class="link" href="index.html#boost_assign_v2._.change_log" title="Change log">Change log</a>
</h3></div></div></div>
<a name="boost_assign_v2._.change_log.upgrading_from_boost__v_emphasis_1_4x__emphasis_"></a><h5>
-<a name="id36165461"></a>
+<a name="id36169410"></a>
<a class="link" href="index.html#boost_assign_v2._.change_log.upgrading_from_boost__v_emphasis_1_4x__emphasis_">Upgrading
from Boost. v<span class="emphasis"><em>1.4x</em></span></a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
This upgrade to Boost.Assign v2 represents a complete overhaul and is completely
- independent from the previous version. In terms of the directory structure,
- the new features are in boost/assign/v2, and accordingly, a new namespace
- was created:
+ independent from the previous version. The new features are in boost/assign/v2,
+ and accordingly, a new namespace was created:
</li></ul></div>
<p>
@@ -3086,7 +4291,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: August 05, 2010 at 05:05:38 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 06, 2010 at 17:23:16 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
Modified: sandbox/statistics/support/libs/assign/v2/example/tutorial.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/example/tutorial.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/example/tutorial.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -33,18 +33,17 @@
typedef std::deque<tuple_> cont_;
cont_ cont;
int a1, a2, b1, c1;
- constructor<tuple_>();
- ( put_wrapper( cont ) % ( _fun = boost::lambda::bind<tuple_>(
+ ( put( cont ) % ( _fun = boost::lambda::bind<tuple_>(
constructor<tuple_>(),
boost::lambda::_1,
a2
- ) ) )( a1 )( b1 )( c1 );
+ ) ) )( a1 )( b1 )( c1 );
}
{
typedef std::map<const char*, int> cont_;
typedef boost::range_value<cont_>::type value_;
cont_ cont;
- ( put_wrapper( cont ) % _incr_lookup).csv( "x", "y", "x" );
+ ( put( cont ) % _incr_lookup).csv( "x", "y", "x" );
BOOST_ASSERT( cont["x"] == 2 );
BOOST_ASSERT( cont["y"] == 1 );
}
@@ -54,8 +53,8 @@
{
typedef std::vector<int> cont_;
cont_ cont = anon( 1 )( 2 )( 3 ).convert<cont_>();
- BOOST_ASSERT(cont[0] == 1);
- BOOST_ASSERT(cont[2] == 3);
+ BOOST_ASSERT( cont[0] == 1 );
+ BOOST_ASSERT( cont[2] == 3 );
}
}
{
Modified: sandbox/statistics/support/libs/assign/v2/src/main.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/src/main.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/src/main.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -6,10 +6,10 @@
#include <libs/assign/v2/test/type_traits/has_push.h>
#include <libs/assign/v2/test/type_traits/has_value_type.h>
#include <libs/assign/v2/test/type_traits/has_static_size.h>
-#include <libs/assign/v2/test/ref/csv_anon.h>
-#include <libs/assign/v2/test/ref/ext_anon.h>
#include <libs/assign/v2/test/ref/fusion_list.h>
-#include <libs/assign/v2/test/ref/static_list.h>
+#include <libs/assign/v2/test/ref/generic_anon.h>
+#include <libs/assign/v2/test/ref/csv_anon.h>
+#include <libs/assign/v2/test/ref/anon.h>
#include <libs/assign/v2/test/ref/wrapper.h>
#include <libs/assign/v2/example/tutorial.h>
@@ -23,8 +23,8 @@
xxx_type_traits::xxx_has_value_type::test();
xxx_type_traits::xxx_has_static_size::test();
xxx_ref::xxx_fusion_list::test();
- xxx_ref::xxx_static_list::test();
- xxx_ref::xxx_ext_anon::test();
+ xxx_ref::xxx_generic_anon::test();
+ xxx_ref::xxx_anon::test();
xxx_ref::xxx_csv_anon::test();
xxx_ref::xxx_wrapper::test();
xxx_put::xxx_put_wrapper::test();
Modified: sandbox/statistics/support/libs/assign/v2/test/put/put_wrapper.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/put/put_wrapper.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/put/put_wrapper.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -32,14 +32,14 @@
typedef boost::array<int,8> cont_;
cont_ cont;
chk_cont::do_check(
- put_wrapper( cont )
+ put( cont )
( a )( b )( c )( d )( e )( f )( g )( h ).unwrap()
);
}
{ // Queue
typedef std::queue<int> cont_;
cont_ cont;
- ( put_wrapper( cont ) % (_repeat = 3 ) ) (-1);
+ ( put( cont ) % (_repeat = 3 ) ) (-1);
BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), -1); cont.pop();
BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), -1); cont.pop();
BOOST_ASSIGN_V2_CHECK_EQUAL( cont.front(), -1); cont.pop();
@@ -56,7 +56,7 @@
typedef std::deque<tuple_> cont_;
{
cont_ cont;
- put_wrapper( cont )( a1 , b1 )( c1 , d1 );
+ put( cont )( a1 , b1 )( c1 , d1 );
BOOST_ASSIGN_V2_CHECK_EQUAL( &a1, &boost::get<0>( cont[0] ) );
BOOST_ASSIGN_V2_CHECK_EQUAL( &b1, &boost::get<1>( cont[0] ) );
BOOST_ASSIGN_V2_CHECK_EQUAL( &c1, &boost::get<0>( cont[1] ) );
@@ -67,12 +67,12 @@
// Map
typedef std::map<const char*, int> cont_;
cont_ cont;
- put_wrapper( cont )( "x", 2 )( "y", 1 );
+ put( cont )( "x", 2 )( "y", 1 );
}
{ // Map
typedef std::map<const char*, int> cont_;
cont_ cont;
- ( put_wrapper( cont ) % _incr_lookup).csv( "x", "y", "x" );
+ ( put( cont ) % _incr_lookup).csv( "x", "y", "x" );
BOOST_ASSIGN_V2_CHECK_EQUAL( 2, cont["x"] );
BOOST_ASSIGN_V2_CHECK_EQUAL( 1, cont["y"] );
}
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/convert_traits.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/convert_traits.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/convert_traits.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -7,8 +7,8 @@
// Boost Software License, Version 1.0. (See accompanying file //
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/ref/convert_traits.h>
#include <boost/assign/v2/ref/detail/convert_traits/checking.hpp>
+#include <libs/assign/v2/test/ref/convert_traits.h>
namespace test_assign_v2{
namespace xxx_ref{
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/csv_anon.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -18,7 +18,7 @@
#include <boost/assign/v2/detail/checking/range.hpp>
#include <boost/assign/v2/detail/checking/array.hpp>
#include <boost/assign/v2/ref/anon/csv/csv.hpp>
-#include <libs/assign/v2/test/ref/ext_anon.h>
+#include <libs/assign/v2/test/ref/csv_anon.h>
namespace test_assign_v2{
namespace xxx_ref{
Modified: sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/ref/wrapper.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -7,9 +7,9 @@
// Boost Software License, Version 1.0. (See accompanying file //
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
//////////////////////////////////////////////////////////////////////////////
-#include <libs/assign/v2/test/ref/wrapper.h>
#include <boost/assign/v2/ref/wrapper/wrapper.hpp>
#include <boost/assign/v2/detail/checking/check_equal.hpp>
+#include <libs/assign/v2/test/ref/wrapper.h>
namespace test_assign_v2{
namespace xxx_ref{
Modified: sandbox/statistics/support/libs/assign/v2/test/unit_testing/ref.cpp
==============================================================================
--- sandbox/statistics/support/libs/assign/v2/test/unit_testing/ref.cpp (original)
+++ sandbox/statistics/support/libs/assign/v2/test/unit_testing/ref.cpp 2010-08-06 14:00:29 EDT (Fri, 06 Aug 2010)
@@ -16,9 +16,9 @@
#define BOOST_ASSIGN_CHECK_EQUAL(a,b) BOOST_CHECK_EQUAL(a,b)
#include <libs/assign/v2/test/ref/convert_traits.cpp>
#include <libs/assign/v2/test/ref/csv_anon.cpp>
-#include <libs/assign/v2/test/ref/ext_anon.cpp>
#include <libs/assign/v2/test/ref/fusion_list.cpp>
-#include <libs/assign/v2/test/ref/static_list.cpp>
+#include <libs/assign/v2/test/ref/generic_anon.cpp>
+#include <libs/assign/v2/test/ref/anon.cpp>
#include <libs/assign/v2/test/ref/wrapper.cpp>
#include <boost/test/unit_test.hpp>
@@ -29,12 +29,12 @@
using namespace test_assign_v2;
{
using namespace xxx_ref;
- test->add( BOOST_TEST_CASE( &xxx_convert_traits::test ) );
- test->add( BOOST_TEST_CASE( &xxx_csv_anon::test ) );
- test->add( BOOST_TEST_CASE( &xxx_ext_anon::test ) );
test->add( BOOST_TEST_CASE( &xxx_fusion_list::test ) );
- test->add( BOOST_TEST_CASE( &xxx_static_list::test ) );
+ test->add( BOOST_TEST_CASE( &xxx_convert_traits::test ) );
+ test->add( BOOST_TEST_CASE( &xxx_generic_anon::test ) );
+ test->add( BOOST_TEST_CASE( &xxx_anon::test ) );
test->add( BOOST_TEST_CASE( &xxx_wrapper::test ) );
+ test->add( BOOST_TEST_CASE( &xxx_csv_anon::test ) );
}
return test;
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk