some major changes to the requirements/models section of counting_iterator

[SVN r21651]
This commit is contained in:
Jeremy Siek 2004-01-12 21:18:52 +00:00
parent 3bf52ec2f2
commit e785cc70d1
7 changed files with 79 additions and 62 deletions

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.2.8: http://docutils.sourceforge.net/" />
<title>Counting Iterator</title> <title>Counting Iterator</title>
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" /> <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" /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
@ -92,9 +92,13 @@ class counting_iterator
<p>If the <tt class="literal"><span class="pre">Diference</span></tt> argument is <tt class="literal"><span class="pre">use_default</span></tt> then the <p>If the <tt class="literal"><span class="pre">Diference</span></tt> argument is <tt class="literal"><span class="pre">use_default</span></tt> then the
<tt class="literal"><span class="pre">difference_type</span></tt> member is an implementation defined signed <tt class="literal"><span class="pre">difference_type</span></tt> member is an implementation defined signed
integral type.</p> integral type.</p>
<p>The member <tt class="literal"><span class="pre">iterator_category</span></tt> is a type that satisfies the <p>If <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt> is not <tt class="literal"><span class="pre">use_default</span></tt> then the member
requirements of the concepts modeled by the <tt class="literal"><span class="pre">counting_iterator</span></tt> as <tt class="literal"><span class="pre">iterator_category</span></tt> is <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt>. Otherwise, if
specified in the models section.</p> <tt class="literal"><span class="pre">Incrementable</span></tt> is a numeric type then <tt class="literal"><span class="pre">iterator_category</span></tt> is a
type convertible to <tt class="literal"><span class="pre">random_access_traversal_tag</span></tt> and
<tt class="literal"><span class="pre">random_access_iterator_tag</span></tt>. If <tt class="literal"><span class="pre">Incrementable</span></tt> is not a numeric
type then <tt class="literal"><span class="pre">iterator_category</span></tt> is
<tt class="literal"><span class="pre">iterator_traversal&lt;Incrementable&gt;::type</span></tt>.</p>
<dl> <dl>
<dt>[<em>Note:</em> implementers are encouraged to provide an implementation of</dt> <dt>[<em>Note:</em> implementers are encouraged to provide an implementation of</dt>
<dd><tt class="literal"><span class="pre">distance_to</span></tt> and a <tt class="literal"><span class="pre">difference_type</span></tt> that avoids overflows in <dd><tt class="literal"><span class="pre">distance_to</span></tt> and a <tt class="literal"><span class="pre">difference_type</span></tt> that avoids overflows in
@ -105,27 +109,22 @@ the cases when the <tt class="literal"><span class="pre">Incrementable</span></t
<h1><a class="toc-backref" href="#id3" name="counting-iterator-requirements"><tt class="literal"><span class="pre">counting_iterator</span></tt> requirements</a></h1> <h1><a class="toc-backref" href="#id3" name="counting-iterator-requirements"><tt class="literal"><span class="pre">counting_iterator</span></tt> requirements</a></h1>
<p>The <tt class="literal"><span class="pre">Incrementable</span></tt> type must be Default Constructible, Copy <p>The <tt class="literal"><span class="pre">Incrementable</span></tt> type must be Default Constructible, Copy
Constructible, and Assignable.</p> Constructible, and Assignable.</p>
</div> <p>If <tt class="literal"><span class="pre">iterator_category</span></tt> is convertible to <tt class="literal"><span class="pre">forward_iterator_tag</span></tt> or
<div class="section" id="counting-iterator-models"> <tt class="literal"><span class="pre">forward_traversal_tag</span></tt> then the following expressions must be valid:</p>
<h1><a class="toc-backref" href="#id4" name="counting-iterator-models"><tt class="literal"><span class="pre">counting_iterator</span></tt> models</a></h1>
<p><tt class="literal"><span class="pre">counting_iterator</span></tt> models Readable Lvalue Iterator.</p>
<p>Furthermore, if you wish to create a counting iterator that is a
Forward Traversal Iterator and also Forward Iterator, then the
following expressions must be valid:</p>
<pre class="literal-block"> <pre class="literal-block">
Incrementable i, j; Incrementable i, j;
++i // pre-increment ++i // pre-increment
i == j // operator equal i == j // operator equal
</pre> </pre>
<p>If you wish to create a counting iterator that is a Bidirectional <p>If <tt class="literal"><span class="pre">iterator_category</span></tt> is convertible to
Traversal Iterator and also Bidirectional Iterator, then pre-decrement <tt class="literal"><span class="pre">bidirectional_iterator_tag</span></tt> or <tt class="literal"><span class="pre">bidirectional_traversal_tag</span></tt> then
is also required:</p> pre-decrement is required:</p>
<pre class="literal-block"> <pre class="literal-block">
--i --i
</pre> </pre>
<p>If you wish to create a counting iterator that is a Random Access <p>If <tt class="literal"><span class="pre">iterator_category</span></tt> is convertible to
Traversal Iterator and also Random Access Iterator, then these <tt class="literal"><span class="pre">random_access_iterator_tag</span></tt> or <tt class="literal"><span class="pre">random_access_traversal_tag</span></tt> then
additional expressions are also required:</p> these additional expressions are also required:</p>
<pre class="literal-block"> <pre class="literal-block">
counting_iterator::difference_type n; counting_iterator::difference_type n;
i += n i += n
@ -133,6 +132,13 @@ n = i - j
i &lt; j i &lt; j
</pre> </pre>
</div> </div>
<div class="section" id="counting-iterator-models">
<h1><a class="toc-backref" href="#id4" name="counting-iterator-models"><tt class="literal"><span class="pre">counting_iterator</span></tt> models</a></h1>
<p><tt class="literal"><span class="pre">counting_iterator</span></tt> models Readable Lvalue Iterator. In addition,
<tt class="literal"><span class="pre">counting_iterator</span></tt> models the concepts corresponding to the
iterator tags that <tt class="literal"><span class="pre">counting_iterator::iterator_category</span></tt> is
convertible to.</p>
</div>
<div class="section" id="counting-iterator-operations"> <div class="section" id="counting-iterator-operations">
<h1><a class="toc-backref" href="#id5" name="counting-iterator-operations"><tt class="literal"><span class="pre">counting_iterator</span></tt> operations</a></h1> <h1><a class="toc-backref" href="#id5" name="counting-iterator-operations"><tt class="literal"><span class="pre">counting_iterator</span></tt> operations</a></h1>
<p>In addition to the operations required by the concepts modeled by <p>In addition to the operations required by the concepts modeled by
@ -254,10 +260,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> <p>The source code for this example can be found <a class="reference" href="../example/counting_iterator_example.cpp">here</a>.</p>
</div> </div>
</div> </div>
<hr class="footer" /> <hr class="footer"/>
<div class="footer"> <div class="footer">
<a class="reference" href="counting_iterator.rst">View document source</a>. <a class="reference" href="counting_iterator.rst">View document source</a>.
Generated on: 2004-01-12 20:46 UTC. Generated on: 2004-01-12 21:18 UTC.
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. 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> </div>
</body> </body>

View File

@ -30,44 +30,43 @@ If the ``Diference`` argument is ``use_default`` then the
``difference_type`` member is an implementation defined signed ``difference_type`` member is an implementation defined signed
integral type. integral type.
The member ``iterator_category`` is a type that satisfies the If ``CategoryOrTraversal`` is not ``use_default`` then the member
requirements of the concepts modeled by the ``counting_iterator`` as ``iterator_category`` is ``CategoryOrTraversal``. Otherwise, if
specified in the models section. ``Incrementable`` is a numeric type then ``iterator_category`` is a
type convertible to ``random_access_traversal_tag`` and
``random_access_iterator_tag``. If ``Incrementable`` is not a numeric
type then ``iterator_category`` is
``iterator_traversal<Incrementable>::type``.
[*Note:* implementers are encouraged to provide an implementation of [*Note:* implementers are encouraged to provide an implementation of
``distance_to`` and a ``difference_type`` that avoids overflows in ``distance_to`` and a ``difference_type`` that avoids overflows in
the cases when the ``Incrementable`` type is a numeric type.] the cases when the ``Incrementable`` type is a numeric type.]
``counting_iterator`` requirements ``counting_iterator`` requirements
.................................. ..................................
The ``Incrementable`` type must be Default Constructible, Copy The ``Incrementable`` type must be Default Constructible, Copy
Constructible, and Assignable. Constructible, and Assignable.
If ``iterator_category`` is convertible to ``forward_iterator_tag`` or
``counting_iterator`` models ``forward_traversal_tag`` then the following expressions must be valid::
............................
``counting_iterator`` models Readable Lvalue Iterator.
Furthermore, if you wish to create a counting iterator that is a
Forward Traversal Iterator and also Forward Iterator, then the
following expressions must be valid::
Incrementable i, j; Incrementable i, j;
++i // pre-increment ++i // pre-increment
i == j // operator equal i == j // operator equal
If you wish to create a counting iterator that is a Bidirectional
Traversal Iterator and also Bidirectional Iterator, then pre-decrement If ``iterator_category`` is convertible to
is also required:: ``bidirectional_iterator_tag`` or ``bidirectional_traversal_tag`` then
pre-decrement is required::
--i --i
If you wish to create a counting iterator that is a Random Access If ``iterator_category`` is convertible to
Traversal Iterator and also Random Access Iterator, then these ``random_access_iterator_tag`` or ``random_access_traversal_tag`` then
additional expressions are also required:: these additional expressions are also required::
counting_iterator::difference_type n; counting_iterator::difference_type n;
i += n i += n
@ -76,6 +75,14 @@ additional expressions are also required::
``counting_iterator`` models
............................
``counting_iterator`` models Readable Lvalue Iterator. In addition,
``counting_iterator`` models the concepts corresponding to the
iterator tags that ``counting_iterator::iterator_category`` is
convertible to.
``counting_iterator`` operations ``counting_iterator`` operations
................................ ................................

View File

@ -980,8 +980,12 @@ categories. There is no description of what the argument to
iterator_adaptor should be. iterator_adaptor should be.
:Proposed resolution: **Needs work** (Jeremy) :Proposed resolution:
We no longer inherit from iterator_adaptor. So instead,
we specify the iterator_category in terms of the Traversal type
(which is now called CategoryOrTraversal). Also the
requirements and models section was reorganized to
match these changes and to make more sense.

View File

@ -3,11 +3,11 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.2.8: http://docutils.sourceforge.net/" />
<title>Iterator Adaptor</title> <title>Iterator Adaptor</title>
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" /> <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" /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
<meta name="date" content="2003-09-14" /> <meta name="date" content="2004-01-12" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved" />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
@ -27,7 +27,7 @@
Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport Lab</a>, University of Hanover <a class="last reference" href="http://www.ive.uni-hannover.de">Institute for Transport
Railway Operation and Construction</a></td></tr> Railway Operation and Construction</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2003-09-14</td></tr> <td>2004-01-12</td></tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved</td></tr> <td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved</td></tr>
</tbody> </tbody>
@ -433,10 +433,10 @@ adaptors</a> to get an idea of the sorts of things you can do with
<a class="reference" href="counting_iterator.html"><tt class="literal"><span class="pre">counting_iterator</span></tt></a>, which demonstrates that <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> <a class="reference" href="counting_iterator.html"><tt class="literal"><span class="pre">counting_iterator</span></tt></a>, which demonstrates that <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>
</div> </div>
<hr class="footer" /> <hr class="footer"/>
<div class="footer"> <div class="footer">
<a class="reference" href="iterator_adaptor.rst">View document source</a>. <a class="reference" href="iterator_adaptor.rst">View document source</a>.
Generated on: 2004-01-12 20:28 UTC. Generated on: 2004-01-12 21:18 UTC.
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. 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> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.1: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.2.8: http://docutils.sourceforge.net/" />
<title>Iterator Facade</title> <title>Iterator Facade</title>
<meta name="author" content="David Abrahams, Jeremy Siek, Thomas Witt" /> <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" /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction" />
@ -144,7 +144,7 @@ of the derived iterator type. These member functions are described
briefly below and in more detail in the iterator facade briefly below and in more detail in the iterator facade
requirements.</p> requirements.</p>
<blockquote> <blockquote>
<table border class="table"> <table class="table" frame="border" rules="all">
<colgroup> <colgroup>
<col width="44%" /> <col width="44%" />
<col width="56%" /> <col width="56%" />
@ -397,7 +397,7 @@ is a constant object of a random access traversal iterator type
interoperable with <tt class="literal"><span class="pre">X</span></tt>.</p> interoperable with <tt class="literal"><span class="pre">X</span></tt>.</p>
<a class="target" id="core-operations" name="core-operations"></a><div class="topic"> <a class="target" id="core-operations" name="core-operations"></a><div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">iterator_facade</span></tt> Core Operations</p> <p class="topic-title"><tt class="literal"><span class="pre">iterator_facade</span></tt> Core Operations</p>
<table border class="table"> <table class="table" frame="border" rules="all">
<colgroup> <colgroup>
<col width="19%" /> <col width="19%" />
<col width="21%" /> <col width="21%" />
@ -1134,10 +1134,10 @@ even be superior.</p>
</div> </div>
</div> </div>
</div> </div>
<hr class="footer" /> <hr class="footer"/>
<div class="footer"> <div class="footer">
<a class="reference" href="iterator_facade.rst">View document source</a>. <a class="reference" href="iterator_facade.rst">View document source</a>.
Generated on: 2004-01-12 19:20 UTC. Generated on: 2004-01-12 21:18 UTC.
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. 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> </div>
</body> </body>

View File

@ -542,7 +542,7 @@ stated semantics.</p>
</pre> </pre>
</td> </td>
</tr> </tr>
<tr><td><tt class="literal"><span class="pre">traversal_category&lt;X&gt;::type</span></tt></td> <tr><td><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt></td>
<td>Convertible to <td>Convertible to
<tt class="literal"><span class="pre">incrementable_traversal_tag</span></tt></td> <tt class="literal"><span class="pre">incrementable_traversal_tag</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -590,7 +590,7 @@ relation over its domain</td>
<td>convertible to <tt class="literal"><span class="pre">bool</span></tt></td> <td>convertible to <tt class="literal"><span class="pre">bool</span></tt></td>
<td><tt class="literal"><span class="pre">!(a</span> <span class="pre">==</span> <span class="pre">b)</span></tt></td> <td><tt class="literal"><span class="pre">!(a</span> <span class="pre">==</span> <span class="pre">b)</span></tt></td>
</tr> </tr>
<tr><td><tt class="literal"><span class="pre">traversal_category&lt;X&gt;::type</span></tt></td> <tr><td><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt></td>
<td>Convertible to <td>Convertible to
<tt class="literal"><span class="pre">single_pass_traversal_tag</span></tt></td> <tt class="literal"><span class="pre">single_pass_traversal_tag</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -637,7 +637,7 @@ dereferenceable implies
the distance between iterators</td> the distance between iterators</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td><tt class="literal"><span class="pre">traversal_category&lt;X&gt;::type</span></tt></td> <tr><td><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt></td>
<td>Convertible to <td>Convertible to
<tt class="literal"><span class="pre">forward_traversal_tag</span></tt></td> <tt class="literal"><span class="pre">forward_traversal_tag</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -692,7 +692,7 @@ implies <tt class="literal"><span class="pre">r</span> <span class="pre">==</spa
</pre> </pre>
</td> </td>
</tr> </tr>
<tr><td><tt class="literal"><span class="pre">traversal_category&lt;X&gt;::type</span></tt></td> <tr><td><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt></td>
<td>Convertible to <td>Convertible to
<tt class="literal"><span class="pre">bidirectional_traversal_tag</span></tt></td> <tt class="literal"><span class="pre">bidirectional_traversal_tag</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -805,7 +805,7 @@ ordering relation</td>
<td><tt class="literal"><span class="pre">!(a</span> <span class="pre">&gt;</span> <span class="pre">b)</span></tt></td> <td><tt class="literal"><span class="pre">!(a</span> <span class="pre">&gt;</span> <span class="pre">b)</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td><tt class="literal"><span class="pre">traversal_category&lt;X&gt;::type</span></tt></td> <tr><td><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt></td>
<td>Convertible to <td>Convertible to
<tt class="literal"><span class="pre">random_access_traversal_tag</span></tt></td> <tt class="literal"><span class="pre">random_access_traversal_tag</span></tt></td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -840,7 +840,7 @@ templates satisfy the <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc2
yields <tt class="literal"><span class="pre">true</span></tt> if, for an object <tt class="literal"><span class="pre">a</span></tt> of type <tt class="literal"><span class="pre">X</span></tt>, <tt class="literal"><span class="pre">*a</span></tt> is yields <tt class="literal"><span class="pre">true</span></tt> if, for an object <tt class="literal"><span class="pre">a</span></tt> of type <tt class="literal"><span class="pre">X</span></tt>, <tt class="literal"><span class="pre">*a</span></tt> is
convertible to <tt class="literal"><span class="pre">iterator_traits&lt;X&gt;::value_type</span></tt>, and <tt class="literal"><span class="pre">false</span></tt> convertible to <tt class="literal"><span class="pre">iterator_traits&lt;X&gt;::value_type</span></tt>, and <tt class="literal"><span class="pre">false</span></tt>
otherwise.</p> otherwise.</p>
<p><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::value_type</span></tt> is defined to be:</p> <p><tt class="literal"><span class="pre">iterator_traversal&lt;X&gt;::type</span></tt> is defined to be:</p>
<pre class="literal-block"> <pre class="literal-block">
traversal-category(X) = traversal-category(X) =
cat = iterator_traits&lt;X&gt;::iterator_category; cat = iterator_traits&lt;X&gt;::iterator_category;
@ -878,7 +878,7 @@ LocalWords: TraversalTag typename lvalues DWA Hmm JGS mis enum -->
<hr class="footer"/> <hr class="footer"/>
<div class="footer"> <div class="footer">
<a class="reference" href="new-iter-concepts.rst">View document source</a>. <a class="reference" href="new-iter-concepts.rst">View document source</a>.
Generated on: 2004-01-12 20:50 UTC. Generated on: 2004-01-12 21:16 UTC.
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. 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> </div>
</body> </body>

View File

@ -477,7 +477,7 @@ stated semantics.
| | | return tmp; | | | | return tmp; |
| | | } | | | | } |
+--------------------------------+-------------------------------+--------------------+ +--------------------------------+-------------------------------+--------------------+
|``traversal_category<X>::type`` |Convertible to | | |``iterator_traversal<X>::type`` |Convertible to | |
| |``incrementable_traversal_tag``| | | |``incrementable_traversal_tag``| |
+--------------------------------+-------------------------------+--------------------+ +--------------------------------+-------------------------------+--------------------+
@ -509,7 +509,7 @@ semantics.
+--------------------------------+-----------------------------+---------------------------+ +--------------------------------+-----------------------------+---------------------------+
|``a != b`` |convertible to ``bool`` |``!(a == b)`` | |``a != b`` |convertible to ``bool`` |``!(a == b)`` |
+--------------------------------+-----------------------------+---------------------------+ +--------------------------------+-----------------------------+---------------------------+
|``traversal_category<X>::type`` |Convertible to | | |``iterator_traversal<X>::type`` |Convertible to | |
| |``single_pass_traversal_tag``| | | |``single_pass_traversal_tag``| |
+--------------------------------+-----------------------------+---------------------------+ +--------------------------------+-----------------------------+---------------------------+
@ -541,7 +541,7 @@ stated semantics.
| |the distance between iterators | | | |the distance between iterators | |
| | | | | | | |
+---------------------------------------+-----------------------------------+----------------------------+ +---------------------------------------+-----------------------------------+----------------------------+
|``traversal_category<X>::type`` |Convertible to | | |``iterator_traversal<X>::type`` |Convertible to | |
| |``forward_traversal_tag`` | | | |``forward_traversal_tag`` | |
+---------------------------------------+-----------------------------------+----------------------------+ +---------------------------------------+-----------------------------------+----------------------------+
@ -581,7 +581,7 @@ respect the stated semantics.
| | | return tmp; | | | | return tmp; |
| | | } | | | | } |
+------------------------------------+---------------------------------------------+---------------------+ +------------------------------------+---------------------------------------------+---------------------+
|``traversal_category<X>::type`` |Convertible to | | |``iterator_traversal<X>::type`` |Convertible to | |
| |``bidirectional_traversal_tag`` | | | |``bidirectional_traversal_tag`` | |
| | | | | | | |
+------------------------------------+---------------------------------------------+---------------------+ +------------------------------------+---------------------------------------------+---------------------+
@ -649,7 +649,7 @@ constant object of type ``Distance``.
+-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+ +-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+
|``a <= b`` |convertible to ``bool`` |``!(a > b)`` | | |``a <= b`` |convertible to ``bool`` |``!(a > b)`` | |
+-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+ +-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+
|``traversal_category<X>::type`` |Convertible to | | | |``iterator_traversal<X>::type`` |Convertible to | | |
| |``random_access_traversal_tag`` | | | | |``random_access_traversal_tag`` | | |
+-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+ +-------------------------------------------+-------------------------------------------------+-------------------------+----------------------+
@ -684,7 +684,7 @@ yields ``true`` if, for an object ``a`` of type ``X``, ``*a`` is
convertible to ``iterator_traits<X>::value_type``, and ``false`` convertible to ``iterator_traits<X>::value_type``, and ``false``
otherwise. otherwise.
``iterator_traversal<X>::value_type`` is defined to be: ``iterator_traversal<X>::type`` is defined to be:
.. parsed-literal:: .. parsed-literal::