forked from boostorg/iterator
added const to operator*
[SVN r21599]
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
<title>Filter Iterator</title>
|
<title>Filter 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" />
|
||||||
<meta name="date" content="2003-09-14" />
|
<meta name="date" content="2004-01-11" />
|
||||||
<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-11</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>
|
||||||
@ -80,9 +80,11 @@ class filter_iterator
|
|||||||
);
|
);
|
||||||
Predicate predicate() const;
|
Predicate predicate() const;
|
||||||
Iterator end() const;
|
Iterator end() const;
|
||||||
|
reference operator*() const;
|
||||||
|
filter_iterator& operator++();
|
||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
<p>The <tt class="literal"><span class="pre">iterator_category</span></tt> is a type convertible to the tags
|
<p>The <tt class="literal"><span class="pre">iterator_category</span></tt> member is a type convertible to the tags
|
||||||
corresponding to each standard concept modeled by <tt class="literal"><span class="pre">filter_iterator</span></tt>,
|
corresponding to each standard concept modeled by <tt class="literal"><span class="pre">filter_iterator</span></tt>,
|
||||||
as described in the models section.</p>
|
as described in the models section.</p>
|
||||||
<div class="section" id="filter-iterator-requirements">
|
<div class="section" id="filter-iterator-requirements">
|
||||||
@ -212,8 +214,8 @@ whose <tt class="literal"><span class="pre">end</span></tt> is a default constru
|
|||||||
<col class="field-name" />
|
<col class="field-name" />
|
||||||
<col class="field-body" />
|
<col class="field-body" />
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A <tt class="literal"><span class="pre">filter_iterator</span></tt> at position <tt class="literal"><span class="pre">x</span></tt> that filters according
|
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A <tt class="literal"><span class="pre">filter_iterator</span></tt> at the first position in the range <tt class="literal"><span class="pre">[x,end)</span></tt>
|
||||||
to predicate <tt class="literal"><span class="pre">f</span></tt> and that will not increment past <tt class="literal"><span class="pre">end</span></tt>.</td>
|
such that <tt class="literal"><span class="pre">f(*this->base())</span> <span class="pre">==</span> <span class="pre">true</span></tt> or else at position <tt class="literal"><span class="pre">end</span></tt>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -224,6 +226,10 @@ to predicate <tt class="literal"><span class="pre">f</span></tt> and that will n
|
|||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><tt class="literal"><span class="pre">Predicate</span></tt> must be Default Constructible.</td>
|
<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><tt class="literal"><span class="pre">Predicate</span></tt> must be Default Constructible.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A <tt class="literal"><span class="pre">filter_iterator</span></tt> at the first position in the range <tt class="literal"><span class="pre">[x,end)</span></tt>
|
||||||
|
such that <tt class="literal"><span class="pre">f(*this->base())</span> <span class="pre">==</span> <span class="pre">true</span></tt>, where <tt class="literal"><span class="pre">f</span></tt> is a default
|
||||||
|
constructed <tt class="literal"><span class="pre">Predicate</span></tt>, or else at position <tt class="literal"><span class="pre">end</span></tt>.</td>
|
||||||
|
</tr>
|
||||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A <tt class="literal"><span class="pre">filter_iterator</span></tt> at position <tt class="literal"><span class="pre">x</span></tt> that filters
|
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A <tt class="literal"><span class="pre">filter_iterator</span></tt> at position <tt class="literal"><span class="pre">x</span></tt> that filters
|
||||||
according to a default constructed <tt class="literal"><span class="pre">Predicate</span></tt>
|
according to a default constructed <tt class="literal"><span class="pre">Predicate</span></tt>
|
||||||
and that will not increment past <tt class="literal"><span class="pre">end</span></tt>.</td>
|
and that will not increment past <tt class="literal"><span class="pre">end</span></tt>.</td>
|
||||||
@ -243,7 +249,8 @@ filter_iterator(
|
|||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><tt class="literal"><span class="pre">OtherIterator</span></tt> is implicitly convertible to <tt class="literal"><span class="pre">Iterator</span></tt>.</td>
|
<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><tt class="literal"><span class="pre">OtherIterator</span></tt> is implicitly convertible to <tt class="literal"><span class="pre">Iterator</span></tt>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A copy of iterator <tt class="literal"><span class="pre">t</span></tt>.</td>
|
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">A filter iterator at the same position as iterator <tt class="literal"><span class="pre">t</span></tt>
|
||||||
|
whose predicate and end are copies of <tt class="literal"><span class="pre">t.predicate</span></tt> and <tt class="literal"><span class="pre">t.end()</span></tt> .</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -265,6 +272,26 @@ filter_iterator(
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<p><tt class="literal"><span class="pre">reference</span> <span class="pre">operator*()</span> <span class="pre">const;</span></tt></p>
|
||||||
|
<table class="field-list" frame="void" rules="none">
|
||||||
|
<col class="field-name" />
|
||||||
|
<col class="field-body" />
|
||||||
|
<tbody valign="top">
|
||||||
|
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><tt class="literal"><span class="pre">*(this->base())</span></tt></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><tt class="literal"><span class="pre">filter_iterator&</span> <span class="pre">operator++();</span></tt></p>
|
||||||
|
<table class="field-list" frame="void" rules="none">
|
||||||
|
<col class="field-name" />
|
||||||
|
<col class="field-body" />
|
||||||
|
<tbody valign="top">
|
||||||
|
<tr class="field"><th class="field-name">Effects:</th><td class="field-body">Increments <tt class="literal"><span class="pre">*this</span></tt> and then continues to
|
||||||
|
increment <tt class="literal"><span class="pre">*this</span></tt> until either <tt class="literal"><span class="pre">this->base()</span> <span class="pre">==</span> <span class="pre">this->end()</span></tt>
|
||||||
|
or <tt class="literal"><span class="pre">f(**this)</span> <span class="pre">==</span> <span class="pre">true</span></tt>.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="example">
|
<div class="section" id="example">
|
||||||
<h1><a class="toc-backref" href="#id4" name="example">Example</a></h1>
|
<h1><a class="toc-backref" href="#id4" name="example">Example</a></h1>
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
);
|
);
|
||||||
Predicate predicate() const;
|
Predicate predicate() const;
|
||||||
Iterator end() const;
|
Iterator end() const;
|
||||||
|
reference operator*() const;
|
||||||
|
filter_iterator& operator++();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -152,7 +154,7 @@ operations.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
``reference operator*();``
|
``reference operator*() const;``
|
||||||
|
|
||||||
:Returns: ``*(this->base())``
|
:Returns: ``*(this->base())``
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user