mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-22 17:07:16 +02:00
resolved Howards issue about a->m
[SVN r21646]
This commit is contained in:
@ -366,9 +366,9 @@ the stated semantics. <tt class="literal"><span class="pre">U</span></tt> is the
|
||||
type <tt class="literal"><span class="pre">T</span></tt>.</p>
|
||||
<table class="table" frame="border" rules="all">
|
||||
<colgroup>
|
||||
<col width="42%" />
|
||||
<col width="29%" />
|
||||
<col width="30%" />
|
||||
<col width="20%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead valign="bottom">
|
||||
<tr><th colspan="3">Readable Iterator Requirements (in addition to Assignable and Copy Constructible)</th>
|
||||
@ -386,21 +386,22 @@ non-cv-qualified type</td>
|
||||
</tr>
|
||||
<tr><td><tt class="literal"><span class="pre">*a</span></tt></td>
|
||||
<td>Convertible to <tt class="literal"><span class="pre">T</span></tt></td>
|
||||
<td>pre: <tt class="literal"><span class="pre">a</span></tt> is
|
||||
dereferenceable. If <tt class="literal"><span class="pre">a</span>
|
||||
<span class="pre">==</span> <span class="pre">b</span></tt> then <tt class="literal"><span class="pre">*a</span></tt> is
|
||||
equivalent to <tt class="literal"><span class="pre">*b</span></tt>.</td>
|
||||
<td><dl class="first last">
|
||||
<dt>pre: <tt class="literal"><span class="pre">a</span></tt> is dereferenceable. If <tt class="literal"><span class="pre">a</span> <span class="pre">==</span> <span class="pre">b</span></tt> then <tt class="literal"><span class="pre">*a</span></tt></dt>
|
||||
<dd>is equivalent to <tt class="literal"><span class="pre">*b</span></tt>.</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><tt class="literal"><span class="pre">a->m</span></tt></td>
|
||||
<td><tt class="literal"><span class="pre">U&</span></tt></td>
|
||||
<td>pre: <tt class="literal"><span class="pre">(*a).m</span></tt> is
|
||||
well-defined. Equivalent
|
||||
to <tt class="literal"><span class="pre">(*a).m</span></tt></td>
|
||||
<td>pre: <tt class="literal"><span class="pre">static_cast<T</span> <span class="pre">const&>(*a).m</span></tt> is well-defined. If
|
||||
<tt class="literal"><span class="pre">static_cast<T&>(*a).m</span></tt> is well-defined, equivalent to
|
||||
<tt class="literal"><span class="pre">static_cast<T&>(*a).m</span></tt>; otherwise, equivalent to
|
||||
<tt class="literal"><span class="pre">static_cast<T</span> <span class="pre">const&>(*a).m</span></tt>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- We won't say anything about iterator_traits<X>::reference until
|
||||
the DR is resolved. -->
|
||||
<!-- We won't say anything about iterator_traits<X>::reference until the DR is resolved. -JGS -->
|
||||
<a class="target" id="writable-iterator" name="writable-iterator"></a></div>
|
||||
<div class="section" id="writable-iterators-lib-writable-iterators">
|
||||
<h4><a class="toc-backref" href="#id12" name="writable-iterators-lib-writable-iterators">Writable Iterators [lib.writable.iterators]</a></h4>
|
||||
@ -880,7 +881,7 @@ LocalWords: TraversalTag typename lvalues DWA Hmm JGS mis enum -->
|
||||
<hr class="footer"/>
|
||||
<div class="footer">
|
||||
<a class="reference" href="new-iter-concepts.rst">View document source</a>.
|
||||
Generated on: 2004-01-12 20:03 UTC.
|
||||
Generated on: 2004-01-12 20:31 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.
|
||||
</div>
|
||||
</body>
|
||||
|
@ -360,26 +360,24 @@ Copy Constructible, the following expressions are valid and respect
|
||||
the stated semantics. ``U`` is the type of any specified member of
|
||||
type ``T``.
|
||||
|
||||
+--------------------------------------------------------------------------------------+
|
||||
|Readable Iterator Requirements (in addition to Assignable and Copy Constructible) |
|
||||
+-----------------------------------+------------------------+-------------------------+
|
||||
|Expression |Return Type |Note/Precondition |
|
||||
+===================================+========================+=========================+
|
||||
|``iterator_traits<X>::value_type`` |``T`` |Any non-reference, |
|
||||
| | |non-cv-qualified type |
|
||||
+-----------------------------------+------------------------+-------------------------+
|
||||
|``*a`` | Convertible to ``T`` |pre: ``a`` is |
|
||||
| | |dereferenceable. If ``a |
|
||||
| | |== b`` then ``*a`` is |
|
||||
| | |equivalent to ``*b``. |
|
||||
+-----------------------------------+------------------------+-------------------------+
|
||||
|``a->m`` |``U&`` |pre: ``(*a).m`` is |
|
||||
| | |well-defined. Equivalent|
|
||||
| | |to ``(*a).m`` |
|
||||
+-----------------------------------+------------------------+-------------------------+
|
||||
+------------------------------------------------------------------------------------------------------------------------+
|
||||
|Readable Iterator Requirements (in addition to Assignable and Copy Constructible) |
|
||||
+-----------------------------------+------------------------+-----------------------------------------------------------+
|
||||
|Expression |Return Type |Note/Precondition |
|
||||
+===================================+========================+===========================================================+
|
||||
|``iterator_traits<X>::value_type`` |``T`` |Any non-reference, |
|
||||
| | |non-cv-qualified type |
|
||||
+-----------------------------------+------------------------+-----------------------------------------------------------+
|
||||
|``*a`` | Convertible to ``T`` |pre: ``a`` is dereferenceable. If ``a == b`` then ``*a`` |
|
||||
| | | is equivalent to ``*b``. |
|
||||
+-----------------------------------+------------------------+-----------------------------------------------------------+
|
||||
|``a->m`` |``U&`` |pre: ``static_cast<T const&>(*a).m`` is well-defined. If |
|
||||
| | |``static_cast<T&>(*a).m`` is well-defined, equivalent to |
|
||||
| | |``static_cast<T&>(*a).m``; otherwise, equivalent to |
|
||||
| | |``static_cast<T const&>(*a).m``. |
|
||||
+-----------------------------------+------------------------+-----------------------------------------------------------+
|
||||
|
||||
.. We won't say anything about iterator_traits<X>::reference until
|
||||
the DR is resolved.
|
||||
.. We won't say anything about iterator_traits<X>::reference until the DR is resolved. -JGS
|
||||
|
||||
.. _Writable Iterator:
|
||||
|
||||
|
Reference in New Issue
Block a user