mirror of
https://github.com/boostorg/iterator.git
synced 2025-05-11 05:23:52 +00:00
HTML updates
[SVN r21990]
This commit is contained in:
parent
17c373ded3
commit
b838d27aa3
@ -3,7 +3,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
|
||||
<title>Counting Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
@ -276,5 +276,10 @@ indirectly printing out the numbers from 0 to 7
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/counting_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer" />
|
||||
<div class="footer">
|
||||
<a class="reference" href="counting_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<title>Iterator Facade and Adaptor</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
|
||||
<meta name="date" content="2004-01-19" />
|
||||
<meta name="date" content="2004-01-21" />
|
||||
<link rel="stylesheet" href="default.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
@ -25,7 +25,7 @@
|
||||
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
|
||||
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
|
||||
<tr><th class="docinfo-name">Date:</th>
|
||||
<td>2004-01-19</td></tr>
|
||||
<td>2004-01-21</td></tr>
|
||||
<tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1530.html">N1530</a>=03-0113, which was
|
||||
accepted for Technical Report 1 by the C++ standard
|
||||
committee's library working group.</td>
|
||||
@ -505,9 +505,6 @@ iterators to interact in the expected ways (unlike those in most
|
||||
implementations of C++98).</li>
|
||||
<li><tt class="literal"><span class="pre">transform_iterator</span></tt>, which applies a user-defined function object
|
||||
to the underlying values when dereferenced.</li>
|
||||
<li><tt class="literal"><span class="pre">projection_iterator</span></tt>, which is similar to <tt class="literal"><span class="pre">transform_iterator</span></tt>
|
||||
except that when dereferenced it returns a reference instead of
|
||||
a value.</li>
|
||||
<li><tt class="literal"><span class="pre">filter_iterator</span></tt>, which provides a view of an iterator range in
|
||||
which some elements of the underlying range are skipped.</li>
|
||||
</ul>
|
||||
@ -1008,8 +1005,14 @@ operator ==(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.equal(rhs)</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.equal(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).equal((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).equal((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1024,8 +1027,14 @@ operator !=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">!lhs.equal(rhs)</span></tt>. Otherwise, <tt class="literal"><span class="pre">!rhs.equal(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">!((Dr1</span> <span class="pre">const&)lhs).equal((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">!((Dr2</span> <span class="pre">const&)rhs).equal((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1040,9 +1049,14 @@ operator <(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre">></span>
|
||||
<span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1057,9 +1071,14 @@ operator <=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.distance_to(lhs)</span>
|
||||
<span class="pre">>=</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1074,9 +1093,14 @@ operator >(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1091,16 +1115,21 @@ operator >=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<a class="target" id="minus" name="minus"></a><pre class="literal-block">
|
||||
template <class Dr1, class V1, class TC1, class R1, class D1,
|
||||
class Dr2, class V2, class TC2, class R2, class D2>
|
||||
typename enable_if_interoperable<Dr1,Dr2,difference_type>::type
|
||||
typename enable_if_interoperable<Dr1,Dr2,difference>::type
|
||||
operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
iterator_facade<Dr2,V2,TC2,R2,D2> const& rhs);
|
||||
</pre>
|
||||
@ -1108,14 +1137,26 @@ operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Return Type:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then <tt class="literal"><span class="pre">difference_type</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr1>::difference_type</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">difference_type</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr2>::difference_type</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Return Type:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<blockquote class="last">
|
||||
<dl>
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">difference</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr1>::difference_type</span></tt>.</dd>
|
||||
<dt>Otherwise </dt>
|
||||
<dd><tt class="literal"><span class="pre">difference</span></tt> shall be <tt class="literal"><span class="pre">iterator_traits<Dr2>::difference_type</span></tt></dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">-lhs.distance_to(rhs)</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">-((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1722,7 +1763,9 @@ convertible to <tt class="literal"><span class="pre">input_iterator_tag</span></
|
||||
</div>
|
||||
<div class="section" id="reverse-iterator-requirements">
|
||||
<h4><a class="toc-backref" href="#id50" name="reverse-iterator-requirements"><tt class="literal"><span class="pre">reverse_iterator</span></tt> requirements</a></h4>
|
||||
<p><tt class="literal"><span class="pre">Iterator</span></tt> must be a model of Bidirectional Traversal Iterator.</p>
|
||||
<p><tt class="literal"><span class="pre">Iterator</span></tt> must be a model of Bidirectional Traversal Iterator. The
|
||||
type <tt class="literal"><span class="pre">iterator_traits<Iterator>::reference</span></tt> must be the type of
|
||||
<tt class="literal"><span class="pre">*i</span></tt>, where <tt class="literal"><span class="pre">i</span></tt> is an object of type <tt class="literal"><span class="pre">Iterator</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="reverse-iterator-models">
|
||||
<h4><a class="toc-backref" href="#id51" name="reverse-iterator-models"><tt class="literal"><span class="pre">reverse_iterator</span></tt> models</a></h4>
|
||||
@ -2502,7 +2545,9 @@ public:
|
||||
typedef void pointer;
|
||||
typedef void reference;
|
||||
|
||||
explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());
|
||||
explicit function_output_iterator();
|
||||
|
||||
explicit function_output_iterator(const UnaryFunction& f);
|
||||
|
||||
/* see below */ operator*();
|
||||
function_output_iterator& operator++();
|
||||
|
@ -3,7 +3,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
|
||||
<title>Function Output Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
@ -65,7 +65,9 @@ public:
|
||||
typedef void pointer;
|
||||
typedef void reference;
|
||||
|
||||
explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());
|
||||
explicit function_output_iterator();
|
||||
|
||||
explicit function_output_iterator(const UnaryFunction& f);
|
||||
|
||||
/* see below */ operator*();
|
||||
function_output_iterator& operator++();
|
||||
@ -160,5 +162,10 @@ int main(int, char*[])
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer" />
|
||||
<div class="footer">
|
||||
<a class="reference" href="function_output_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
|
||||
<title>Iterator Adaptor</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
@ -436,5 +436,10 @@ adaptor, and also <a class="reference" href="counting_iterator.html"><tt class="
|
||||
<tt class="literal"><span class="pre">iterator_adaptor</span></tt>'s <tt class="literal"><span class="pre">Base</span></tt> type needn't be an iterator.</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer" />
|
||||
<div class="footer">
|
||||
<a class="reference" href="iterator_adaptor.rst">View document source</a>.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -674,8 +674,14 @@ operator ==(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.equal(rhs)</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.equal(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).equal((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).equal((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -690,8 +696,14 @@ operator !=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">!lhs.equal(rhs)</span></tt>. Otherwise, <tt class="literal"><span class="pre">!rhs.equal(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">!((Dr1</span> <span class="pre">const&)lhs).equal((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">!((Dr2</span> <span class="pre">const&)rhs).equal((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -706,9 +718,14 @@ operator <(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre">></span>
|
||||
<span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -723,9 +740,14 @@ operator <=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>. Otherwise, <tt class="literal"><span class="pre">rhs.distance_to(lhs)</span>
|
||||
<span class="pre">>=</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -740,9 +762,14 @@ operator >(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre">></span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre"><</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -757,16 +784,21 @@ operator >=(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">lhs.distance_to(rhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span> <span class="pre">>=</span> <span class="pre">0</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span> <span class="pre"><=</span> <span class="pre">0</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<a class="target" id="minus" name="minus"></a><pre class="literal-block">
|
||||
template <class Dr1, class V1, class TC1, class R1, class D1,
|
||||
class Dr2, class V2, class TC2, class R2, class D2>
|
||||
typename enable_if_interoperable<Dr1,Dr2,difference_type>::type
|
||||
typename enable_if_interoperable<Dr1,Dr2,difference>::type
|
||||
operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
iterator_facade<Dr2,V2,TC2,R2,D2> const& rhs);
|
||||
</pre>
|
||||
@ -774,14 +806,26 @@ operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field"><th class="field-name">Return Type:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then <tt class="literal"><span class="pre">difference_type</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr1>::difference_type</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">difference_type</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr2>::difference_type</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Return Type:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<blockquote class="last">
|
||||
<dl>
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">difference</span></tt> shall be
|
||||
<tt class="literal"><span class="pre">iterator_traits<Dr1>::difference_type</span></tt>.</dd>
|
||||
<dt>Otherwise </dt>
|
||||
<dd><tt class="literal"><span class="pre">difference</span></tt> shall be <tt class="literal"><span class="pre">iterator_traits<Dr2>::difference_type</span></tt></dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt>, then
|
||||
<tt class="literal"><span class="pre">-lhs.distance_to(rhs)</span></tt>. Otherwise,
|
||||
<tt class="literal"><span class="pre">rhs.distance_to(lhs)</span></tt>.</td>
|
||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">if <tt class="literal"><span class="pre">is_convertible<Dr2,Dr1>::value</span></tt></p>
|
||||
<dl class="last">
|
||||
<dt>then </dt>
|
||||
<dd><tt class="literal"><span class="pre">-((Dr1</span> <span class="pre">const&)lhs).distance_to((Dr2</span> <span class="pre">const&)rhs)</span></tt>.</dd>
|
||||
<dt>Otherwise, </dt>
|
||||
<dd><tt class="literal"><span class="pre">((Dr2</span> <span class="pre">const&)rhs).distance_to((Dr1</span> <span class="pre">const&)lhs)</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -90,7 +90,9 @@ convertible to <tt class="literal"><span class="pre">input_iterator_tag</span></
|
||||
</div>
|
||||
<div class="section" id="reverse-iterator-requirements">
|
||||
<h1><a class="toc-backref" href="#id3" name="reverse-iterator-requirements"><tt class="literal"><span class="pre">reverse_iterator</span></tt> requirements</a></h1>
|
||||
<p><tt class="literal"><span class="pre">Iterator</span></tt> must be a model of Bidirectional Traversal Iterator.</p>
|
||||
<p><tt class="literal"><span class="pre">Iterator</span></tt> must be a model of Bidirectional Traversal Iterator. The
|
||||
type <tt class="literal"><span class="pre">iterator_traits<Iterator>::reference</span></tt> must be the type of
|
||||
<tt class="literal"><span class="pre">*i</span></tt>, where <tt class="literal"><span class="pre">i</span></tt> is an object of type <tt class="literal"><span class="pre">Iterator</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="reverse-iterator-models">
|
||||
<h1><a class="toc-backref" href="#id4" name="reverse-iterator-models"><tt class="literal"><span class="pre">reverse_iterator</span></tt> models</a></h1>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" />
|
||||
<title>Transform Iterator</title>
|
||||
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" />
|
||||
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
|
||||
@ -132,12 +132,12 @@ it models the following original iterator concepts depending on what
|
||||
the <tt class="literal"><span class="pre">Iterator</span></tt> argument models.</p>
|
||||
<table border class="table">
|
||||
<colgroup>
|
||||
<col width="51%" />
|
||||
<col width="49%" />
|
||||
<col width="47%" />
|
||||
<col width="53%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr><th>If <tt class="literal"><span class="pre">Iterator</span></tt> models</th>
|
||||
<th>then <tt class="literal"><span class="pre">filter_iterator</span></tt> models</th>
|
||||
<th>then <tt class="literal"><span class="pre">transform_iterator</span></tt> models</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
@ -318,5 +318,10 @@ adding 4 to each element in the array:
|
||||
<p>The source code for this example can be found <a class="reference" href="../example/transform_iterator_example.cpp">here</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="footer" />
|
||||
<div class="footer">
|
||||
<a class="reference" href="transform_iterator.rst">View document source</a>.
|
||||
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user