1 <?xml version=
"1.0" encoding=
"utf-8" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en" lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
6 <meta name=
"generator" content=
"Docutils 0.5: http://docutils.sourceforge.net/" />
7 <title>Single Pass Iterator Concept
</title>
8 <link rel=
"stylesheet" href=
"../../../rst.css" type=
"text/css" />
11 <div class=
"document" id=
"single-pass-iterator-concept">
12 <h1 class=
"title">Single Pass Iterator Concept
</h1>
14 <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
15 <!-- Software License, Version 1.0. (See accompanying -->
16 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
17 <p>A class or built-in type
<tt class=
"docutils literal"><span class=
"pre">X
</span></tt> models the
<em>Single Pass Iterator
</em>
18 concept if the following expressions are valid and respect the stated
20 <table border=
"1" class=
"docutils">
26 <thead valign=
"bottom">
27 <tr><th class=
"head" colspan=
"3">Single Pass Iterator Requirements (in addition to Incrementable Iterator and Equality
30 <tr><th class=
"head">Expression
</th>
31 <th class=
"head">Return Type
</th>
32 <th class=
"head">Assertion/Semantics /
33 Pre-/Post-condition
</th>
37 <tr><td><tt class=
"docutils literal"><span class=
"pre">++r
</span></tt></td>
38 <td><tt class=
"docutils literal"><span class=
"pre">X
&</span></tt></td>
39 <td>pre:
<tt class=
"docutils literal"><span class=
"pre">r
</span></tt> is
40 dereferenceable; post:
41 <tt class=
"docutils literal"><span class=
"pre">r
</span></tt> is dereferenceable or
42 <tt class=
"docutils literal"><span class=
"pre">r
</span></tt> is past-the-end
</td>
44 <tr><td><tt class=
"docutils literal"><span class=
"pre">a
</span> <span class=
"pre">==
</span> <span class=
"pre">b
</span></tt></td>
45 <td>convertible to
<tt class=
"docutils literal"><span class=
"pre">bool
</span></tt></td>
46 <td><tt class=
"docutils literal"><span class=
"pre">==
</span></tt> is an equivalence
47 relation over its domain
</td>
49 <tr><td><tt class=
"docutils literal"><span class=
"pre">a
</span> <span class=
"pre">!=
</span> <span class=
"pre">b
</span></tt></td>
50 <td>convertible to
<tt class=
"docutils literal"><span class=
"pre">bool
</span></tt></td>
51 <td><tt class=
"docutils literal"><span class=
"pre">!(a
</span> <span class=
"pre">==
</span> <span class=
"pre">b)
</span></tt></td>
53 <tr><td><tt class=
"docutils literal"><span class=
"pre">iterator_traversal
<X
>::type
</span></tt></td>
55 <tt class=
"docutils literal"><span class=
"pre">single_pass_traversal_tag
</span></tt></td>
63 <a class=
"reference external" href=
"SinglePassIterator.rst">View document source
</a>.
64 Generated by
<a class=
"reference external" href=
"http://docutils.sourceforge.net/">Docutils
</a> from
<a class=
"reference external" href=
"http://docutils.sourceforge.net/rst.html">reStructuredText
</a> source.