|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r60845 - sandbox/statistics/detail/assign/libs/assign/doc
From: erwann.rogard_at_[hidden]
Date: 2010-03-25 22:18:44
Author: e_r
Date: 2010-03-25 22:18:44 EDT (Thu, 25 Mar 2010)
New Revision: 60845
URL: http://svn.boost.org/trac/boost/changeset/60845
Log:
m
Text files modified:
sandbox/statistics/detail/assign/libs/assign/doc/index.html | 115 ++++++++++++++++-----------------------
1 files changed, 47 insertions(+), 68 deletions(-)
Modified: sandbox/statistics/detail/assign/libs/assign/doc/index.html
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/doc/index.html (original)
+++ sandbox/statistics/detail/assign/libs/assign/doc/index.html 2010-03-25 22:18:44 EDT (Thu, 25 Mar 2010)
@@ -38,7 +38,7 @@
<li>Function map_list_of()
<li>Function tuple_list_of()
<li>Functions repeat()
, repeat_fun()
and range()
- <li>Functions chain_convert_l()
and chain_convert_r()
+ <li>Functions chain_l()
and chain_r()
<li>Functions ref_list_of()
, cref_list_of()
and variants
<li>Functions ref_csv()
, cref_csv()
and variants
<li>A "complicated" example
@@ -64,7 +64,7 @@
<li>Functions repeat()
, repeat_fun()
and
<a href="#ref-repeat"><code>range()</code>
</a></li>
- <li>Functions chain_convert_l()
and chain_convert_r()
</li>
+ <li>Functions chain_l()
and chain_r()
</li>
<li>Customizing argument list sizes </li>
</ul>
<li>
@@ -74,9 +74,8 @@
<li> Proxy object generic_list<>
</li>
<li> Proxy object list_inserter<>
</li>
<li> Proxy object static_generic_list<>
</li>
- <li> Proxy object range_comparison_op::base_of<>
</li>
<li> Proxy object array_interface<>
</li>
- <li> Proxy object chain_convert_impl::expr<>
</li>
+ <li> Proxy object chain_impl::expr<>
</li>
<li> Proxy object expr<>
</li>
<li> Proxy object lazy_array<>
</li>
<li> Proxy object static_array<>
</li>
@@ -146,7 +145,7 @@
<li>Function map_list_of()
<li>Function tuple_list_of()
<li>Functions repeat()
, repeat_fun()
and range()
- <li>Functions chain_convert_l()
and chain_convert_r()
+ <li>Functions chain_l()
and chain_r()
<li>Functions ref_list_of()
, cref_list_of()
and variants
<li>Functions ref_csv()
, cref_csv()
and variants
<li>A "complicated" example
@@ -478,26 +477,26 @@
</p>
-<h3>Functions <code>chain_convert_l()</code> and <code>chain_convert_r()</code><a name="chain_convert"></h3>
+<h3>Functions <code>chain_l()</code> and <code>chain_r()</code><a name="chain"></h3>
While the function range()
works in combination with functions
such as list_of()
, it is not compatible with
<a href="#ref_csv"><code>ref_csv()</code></a>, <a href="#ref_list"><code>ref_list_of()</code></a> and their variants,
-which are part of a different framework. The functions <code>chain_convert_l()</code>,
-and <code>chain_convert_r()</code> achieve a similar goal and have the same interface as list_of()
,
+which are part of a different framework. The functions <code>chain_l()</code>,
+and <code>chain_r()</code> achieve a similar goal and have the same interface as list_of()
,
(an idea originating from M.P.G). Continuing the example above,
-<blockquote><pre><span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>auto_size</span><span class=special>/</span><span class=identifier>chain_convert</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
+<blockquote><pre><span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>auto_size</span><span class=special>/</span><span class=identifier>chain</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
<span class=preprocessor>#include</span> <span class=special><</span><span class=identifier>boost</span><span class=special>/</span><span class=identifier>assign</span><span class=special>/</span><span class=identifier>auto_size</span><span class=special>/</span><span class=identifier>ref_list_of</span><span class=special>.</span><span class=identifier>hpp</span><span class=special>></span>
<span class=special>{</span>
<span class=identifier>BOOST_ASSERT</span><span class=special>(
- </span><span class=identifier>chain_convert_r</span><span class=special>( </span></span><span class=identifier>ref_list_of</span>( </span><span class=identifier>x</span><span class=special> )</span><span class=special> )</span><span class=special>( </span><span class=identifier>v2</span><span class=special> )( </span><span class=identifier>ref_list_of</span>(</span><span class=identifier>y</span><span class=special>)</span> <span class=special>)</span><span class=special>.</span><span class=identifier>size</span><span class=special>(</span><span class=special>)</span><span class=special> == </span><span class=number>10u</span><span class=special> )</span><span class=special>;</span>
+ </span><span class=identifier>chain_r</span><span class=special>( </span></span><span class=identifier>ref_list_of</span>( </span><span class=identifier>x</span><span class=special> )</span><span class=special> )</span><span class=special>( </span><span class=identifier>v2</span><span class=special> )( </span><span class=identifier>ref_list_of</span>(</span><span class=identifier>y</span><span class=special>)</span> <span class=special>)</span><span class=special>.</span><span class=identifier>size</span><span class=special>(</span><span class=special>)</span><span class=special> == </span><span class=number>10u</span><span class=special> )</span><span class=special>;</span>
<span class=special>}</span></pre>
</blockquote>
-Notice the suffix 'r' which tells the function that the arguments should be treated as rvalues. The reference is here.
+Notice the suffix 'r' which tells the function that the arguments should be treated as rvalues. The reference is here.
<h3>Functions <code>ref_list_of()</code>, <code>cref_list_of()</code> and variants<a name="ref_list_of"></h3>
@@ -836,7 +835,7 @@
<li>Functions repeat()
, repeat_fun()
and
<a href="#ref-repeat"><code>range()</code>
</a></li>
- <li>Functions chain_convert_l()
and chain_convert_r()
</li>
+ <li>Functions chain_l()
and chain_r()
</li>
<li>Customizing argument list sizes </li>
</ul>
@@ -853,8 +852,8 @@
<td> everything except support for pointer containers </td>
<tr>
- <td> <boost/assign/auto_size/chain_convert.hpp> </td>
- <td> chain_convert_l()
and chain_convert_r()
+ <td> <boost/assign/auto_size/chain/chain.hpp> </td>
+ <td> chain_l()
and chain_r()
<tr>
<td> <boost/assign/auto_size/ref_csv.hpp> </td>
@@ -1150,7 +1149,7 @@
</p>
- <h3> Functions <code>chain_convert_l()</code> and <code>chain_convert_r()<a name="ref-chain_convert"> </h3>
+ <h3> Functions <code>chain_l()</code> and <code>chain_r()<a name="ref-chain"> </h3>
<p> This function serves as a sustitute for range()
within the auto-size framework.
@@ -1174,19 +1173,21 @@
<blockquote>
<table cellpadding=5 border=1>
<tr><th class="head">Expression</th> <th class="head">Description<th class="head">Alias</th>
- <tr><td><tt>chain_convert_impl::expr<L,E,true,V,R,add_const></tt></td><td>Implementation</td><td>Impl<></td></tr>
+ <tr><td><tt>chain_impl::expr<L,E,true,V,R,add_const></tt></td><td>Implementation</td><td>Impl<></td></tr>
</table>
</blockquote>
+ <p>To be defined </p>
+
<b>Usage</b>
<p>Let <code>r</code> instance of <code>Rng</code>
<blockquote>
<table cellpadding=5 border=1>
<tr><th class="head">Expression</th> <th class="head">Result</th>
- <tr><td><tt>chain_convert_l<V,R>(r)</tt></td><td> Impl<>
</td></tr>
- <tr><td><tt>chain_convert_l<V,use_default>(r)</tt></td><td> Impl<>
</td></tr>
- <tr><td><tt>chain_convert_l(r)</tt></td><td> Impl<>
</td></tr>
+ <tr><td><tt>chain_l<V,R>(r)</tt></td><td> Impl<>
</td></tr>
+ <tr><td><tt>chain_l<V,use_default>(r)</tt></td><td> Impl<>
</td></tr>
+ <tr><td><tt>chain_l(r)</tt></td><td> Impl<>
</td></tr>
</table>
</blockquote>
@@ -1200,12 +1201,11 @@
<li> Proxy object generic_list<>
</li>
<li> Proxy object list_inserter<>
</li>
<li> Proxy object static_generic_list<>
</li>
- <li> Proxy object range_comparison_op::base_of<>
</li>
<li> Proxy object array_interface<>
</li>
<li> Proxy object expr<>
</li>
<li> Proxy object lazy_array<>
</li>
<li> Proxy object static_array<>
</li>
- <li> Proxy objects chain_convert_impl::expr<>
</li>
+ <li> Proxy objects chain_impl::expr<>
</li>
</ul>
<h3>Proxy object <code>converter<></code><a name=ref-converter> </h3>
@@ -1537,47 +1537,6 @@
chain argument list together in a very space-efficient manner.
</p>
- <h4>Proxy object <code>range_comparison_op::base_of<></code><a name="ref-range_comparison_op"></h4>
- <b>Header</b> <code><boost/assign/auto_size/range_comparison_op/base_of.hpp></code>
-
- <p>
- <b>Template parameters</b>
- </p>
-
- <blockquote>
- <table cellpadding=5 border=1>
- <tr><th class="head">Parameter</th> <th class="head">Description</th>
- <tr><td><tt>D</tt></td><td> Derived </td> </tr>
- </table>
- </blockquote>
-
- <p>
- <b>Requirements</b>
- </p>
-
- <blockquote>
- <table cellpadding=5 border=1>
- <tr><th class="head">Expression</th> <th class="head">Description</th>
- <tr><td><tt>range_comparison_op::base_of<D>::type</tt></td><td>Public base of <tt>D</tt></td> </tr>
- </table>
- </blockquote>
-
- <p>
- <b>Properties</b>
- </p>
- Let <b>G</b> denote the set of types that meet the above requirement, and <tt>L</tt> and <tt>R</tt> models of SinglePassRange. For either of
- (<tt>L</tt> xor <tt>R</tt>) or (<tt>L</tt> and <tt>R</tt>) in <b>G</b>, and <tt>l</tt> and <tt>r</tt> objects of type <tt>l</tt> and <tt>r</tt>,
- respectively,
- <blockquote>
- <table cellpadding=5 border=1>
- <tr><th class="head">Expression</th> <th class="head">Result</th>
- <tr><td><tt>l == r</tt></td><td> boost::iterator_range_detail::equal( l, r ) </td> </tr>
- <tr><td><tt>l != r</tt></td><td> boost::iterator_range_detail::less_than( l, r ) </td> </tr>
- </table>
- </blockquote>
- The remaining operators, <tt>!=</tt>, <tt>></tt>, <tt><=</tt>, <tt>>=</tt> are defined using their logical relationships to the two fundamental ones above.
-
-
<h4>Proxy object <code>array_interface<></code><a name="ref-array_interface"></h4>
<p>Exposes most of the <code>boost::array<></code> interface.</p>
<b>Header</b> <code><boost/assign/auto_size/array/interface.hpp></code>
@@ -1604,8 +1563,7 @@
<table cellpadding=5 border=1>
<tr><th class="head">Expression</th> <th class="head">Description</th>
<tr><td><tt>R<T></tt></td><td> Reference wrapper </td> </tr>
- <tr><td>converter<></td><td> Private base class of array_interface<></td> </tr>
- <tr><td>range_comparison_op::base_of<>::type</td><td> Public base class of array_interface<></td> </tr>
+ <tr><td>converter<></td><td> Public base class of array_interface<></td> </tr>
</table>
</blockquote>
@@ -1639,6 +1597,7 @@
<tr><td><tt>N</tt></td><td> Size </td> </tr>
<tr><td><tt>R</tt></td><td> A class template </td> </tr>
<tr><td><tt>P</tt></td><td> Policy tag</td> </tr>
+ <tr><td><tt>F</tt></td><td> Use reference to link to the previous collection </td> </tr>
</table>
</blockquote>
@@ -1675,10 +1634,30 @@
<span class="keyword">typedef</span> Implementation-defined result_type;
<span class="keyword">explicit</span> expr(<span class="keyword">const</span> E& p,T& t);
<span class="keyword">template</span><<span class="keyword">typename</span> E1,<span class="keyword">typename</span> P1,<span class="keyword">bool</span> F1>
- <span class="keyword">explicit</span> expr(<span class="keyword">const</span> expr<E1,T,N,R,P1>& that);
+ <span class="keyword">explicit</span> expr(<span class="keyword">const</span> expr<E1,T,N,R,P1,F1>& that);
result_type <span class="keyword">operator</span>()(T& t)<span class="keyword">const</span>;
+ <span class="keyword">template</span><<span class="keyword">int</span> K,<span class="keyword">typename</span> I>
+ Implementation-defined
+ range(I b,I e)<span class="keyword">const</span>;
+
+ <span class="keyword">template</span><<span class="keyword">int</span> K,<span class="keyword">typename</span> Range>
+ Implementation-defined
+ range(Range& r)<span class="keyword">const</span>;
+
+ <span class="keyword">template</span><<span class="keyword">int</span> K,<span class="keyword">typename</span> Range>
+ Implementation-defined
+ range(<span class="keyword">const</span> Range& r)<span class="keyword">const</span>;
+
+ <span class="keyword">template</span><<span class="keyword">typename</span> Range>
+ Implementation-defined
+ range(Range& r);
+
+ <span class="keyword">template</span><<span class="keyword">typename</span> Range>
+ Implementation-defined
+ range(<span class="keyword">const</span> Range& r);
+
};
<span class="keyword">template</span><<span class="keyword">typename</span> A,<span class="keyword">typename</span> E,<span class="keyword">typename</span> T,<span class="keyword">int</span> N,
@@ -1705,8 +1684,8 @@
The successive arguments that are passed to the unary operator must be allocated on the stack.
Consequently, this set up is ill-suited for the method range()
whose argument size, here, must
be specified explicitly, unlike in the remainder of this library. As long as the policy
- exposes iterators, however, it is interoperable with the function chain_convert_l()
- and chain_convert_r()
, which serve a similar purpose.
+ exposes iterators, however, it is interoperable with the function chain_l()
+ and chain_r()
, which serve a similar purpose.
</p>
@@ -1796,7 +1775,7 @@
</table>
</blockquote>
- <h3>Proxy object <code>chain_convert_impl::expr<></code><a name="ref-chain_convert_impl"> </h3>
+ <h3>Proxy object <code>chain_impl::expr<></code><a name="ref-chain_impl"> </h3>
Successive calls to this proxy object joins together collections into one whose dereferenced type is one that is convertible
to from those of the input ranges. In particular, either range may contain reference wrappers if they meet certain traits requirement.
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