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>Iterator Concepts
</title>
8 <meta name=
"author" content=
"David Abrahams, Jeremy Siek, Thomas Witt" />
9 <meta name=
"organization" content=
"Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
10 <meta name=
"date" content=
"2006-09-11" />
11 <meta name=
"copyright" content=
"Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." />
12 <link rel=
"stylesheet" href=
"../../../rst.css" type=
"text/css" />
15 <div class=
"document" id=
"iterator-concepts">
16 <h1 class=
"title">Iterator Concepts
</h1>
17 <table class=
"docinfo" frame=
"void" rules=
"none">
18 <col class=
"docinfo-name" />
19 <col class=
"docinfo-content" />
21 <tr><th class=
"docinfo-name">Author:
</th>
22 <td>David Abrahams, Jeremy Siek, Thomas Witt
</td></tr>
23 <tr><th class=
"docinfo-name">Contact:
</th>
24 <td><a class=
"first reference external" href=
"mailto:dave@boost-consulting.com">dave
@boost-consulting.com
</a>,
<a class=
"reference external" href=
"mailto:jsiek@osl.iu.edu">jsiek
@osl.iu.edu
</a>,
<a class=
"last reference external" href=
"mailto:witt@styleadvisor.com">witt
@styleadvisor.com
</a></td></tr>
25 <tr><th class=
"docinfo-name">Organization:
</th>
26 <td><a class=
"first reference external" href=
"http://www.boost-consulting.com">Boost Consulting
</a>, Indiana University
<a class=
"reference external" href=
"http://www.osl.iu.edu">Open Systems
27 Lab
</a>,
<a class=
"last reference external" href=
"http://www.styleadvisor.com">Zephyr Associates, Inc.
</a></td></tr>
28 <tr><th class=
"docinfo-name">Date:
</th>
29 <td>2006-
09-
11</td></tr>
30 <tr><th class=
"docinfo-name">Copyright:
</th>
31 <td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt
2004.
</td></tr>
34 <!-- Distributed under the Boost -->
35 <!-- Software License, Version 1.0. (See accompanying -->
36 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
37 <table class=
"docutils field-list" frame=
"void" rules=
"none">
38 <col class=
"field-name" />
39 <col class=
"field-body" />
41 <tr class=
"field"><th class=
"field-name">abstract:
</th><td class=
"field-body">The iterator concept checking classes provide a mechanism for
42 a template to report better error messages when a user instantiates
43 the template with a type that does not meet the requirements of
48 <p>For an introduction to using concept checking classes, see
49 the documentation for the
<a class=
"reference external" href=
"../../concept_check/index.html"><tt class=
"docutils literal"><span class=
"pre">boost::concept_check
</span></tt></a> library.
</p>
50 <div class=
"section" id=
"reference">
52 <div class=
"section" id=
"iterator-access-concepts">
53 <h2>Iterator Access Concepts
</h2>
55 <li><a class=
"reference external" href=
"ReadableIterator.html"><em>Readable Iterator
</em></a></li>
56 <li><a class=
"reference external" href=
"WritableIterator.html"><em>Writable Iterator
</em></a></li>
57 <li><a class=
"reference external" href=
"SwappableIterator.html"><em>Swappable Iterator
</em></a></li>
58 <li><a class=
"reference external" href=
"LvalueIterator.html"><em>Lvalue Iterator
</em></a></li>
61 <div class=
"section" id=
"iterator-traversal-concepts">
62 <h2>Iterator Traversal Concepts
</h2>
64 <li><a class=
"reference external" href=
"IncrementableIterator.html"><em>Incrementable Iterator
</em></a></li>
65 <li><a class=
"reference external" href=
"SinglePassIterator.html"><em>Single Pass Iterator
</em></a></li>
66 <li><a class=
"reference external" href=
"ForwardTraversal.html"><em>Forward Traversal
</em></a></li>
67 <li><a class=
"reference external" href=
"BidirectionalTraversal.html"><em>Bidirectional Traversal
</em></a></li>
68 <li><a class=
"reference external" href=
"RandomAccessTraversal.html"><em>Random Access Traversal
</em></a></li>
71 <div class=
"section" id=
"iterator-concepts-hpp-synopsis">
72 <h2><tt class=
"docutils literal"><span class=
"pre">iterator_concepts.hpp
</span></tt> Synopsis
</h2>
73 <pre class=
"literal-block">
74 namespace boost_concepts {
76 // Iterator Access Concepts
78 template
<typename Iterator
>
79 class ReadableIteratorConcept;
83 , typename ValueType = std::iterator_traits
<Iterator
>::value_type
85 class WritableIteratorConcept;
87 template
<typename Iterator
>
88 class SwappableIteratorConcept;
90 template
<typename Iterator
>
91 class LvalueIteratorConcept;
93 // Iterator Traversal Concepts
95 template
<typename Iterator
>
96 class IncrementableIteratorConcept;
98 template
<typename Iterator
>
99 class SinglePassIteratorConcept;
101 template
<typename Iterator
>
102 class ForwardTraversalConcept;
104 template
<typename Iterator
>
105 class BidirectionalTraversalConcept;
107 template
<typename Iterator
>
108 class RandomAccessTraversalConcept;
112 template
<typename Iterator, typename ConstIterator
>
113 class InteroperableIteratorConcept;
121 <hr class=
"footer" />
122 <a class=
"reference external" href=
"iterator_concepts.rst">View document source
</a>.
123 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.