Stop reserving rights.

[SVN r26085]
This commit is contained in:
Dave Abrahams 2004-11-02 14:31:27 +00:00
parent a8f528130a
commit 3b60f75bc6
50 changed files with 1383 additions and 1356 deletions

View File

@ -3,18 +3,18 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Bidirectional Traversal Concept</title> <title>Bidirectional Traversal Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="bidirectional-traversal-concept">
<h1 class="title">Bidirectional Traversal Concept</h1> <h1 class="title">Bidirectional Traversal Concept</h1>
<div class="document" id="bidirectional-traversal-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Bidirectional Traversal</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Bidirectional Traversal</em>
concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> meeting the requirements of Forward concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> meeting the requirements of Forward
Traversal Iterator, the following expressions are valid and respect Traversal Iterator, the following expressions are valid and respect
the stated semantics.</p> the stated semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="38%" /> <col width="38%" />
<col width="37%" /> <col width="37%" />

View File

@ -3,18 +3,18 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Forward Traversal Concept</title> <title>Forward Traversal Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="forward-traversal-concept">
<h1 class="title">Forward Traversal Concept</h1> <h1 class="title">Forward Traversal Concept</h1>
<div class="document" id="forward-traversal-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Forward Traversal</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Forward Traversal</em>
concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> meeting the requirements of Default concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> meeting the requirements of Default
Constructible and Single Pass Iterator, the following expressions are Constructible and Single Pass Iterator, the following expressions are
valid and respect the stated semantics.</p> valid and respect the stated semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="38%" /> <col width="38%" />
<col width="34%" /> <col width="34%" />

View File

@ -3,18 +3,18 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Incrementable Iterator Concept</title> <title>Incrementable Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="incrementable-iterator-concept">
<h1 class="title">Incrementable Iterator Concept</h1> <h1 class="title">Incrementable Iterator Concept</h1>
<div class="document" id="incrementable-iterator-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Incrementable Iterator</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Incrementable Iterator</em>
concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Assignable and Copy concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Assignable and Copy
Constructible, the following expressions are valid and respect the Constructible, the following expressions are valid and respect the
stated semantics.</p> stated semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="39%" /> <col width="39%" />
<col width="37%" /> <col width="37%" />

View File

@ -3,17 +3,17 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Lvalue Iterator Concept</title> <title>Lvalue Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="lvalue-iterator-concept">
<h1 class="title">Lvalue Iterator Concept</h1> <h1 class="title">Lvalue Iterator Concept</h1>
<div class="document" id="lvalue-iterator-concept">
<p>The <em>Lvalue Iterator</em> concept adds the requirement that the return <p>The <em>Lvalue Iterator</em> concept adds the requirement that the return
type of <tt class="literal"><span class="pre">operator*</span></tt> type be a reference to the value type of the type of <tt class="literal"><span class="pre">operator*</span></tt> type be a reference to the value type of the
iterator.</p> iterator.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="22%" /> <col width="22%" />
<col width="19%" /> <col width="19%" />

View File

@ -3,19 +3,19 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Random Access Traversal Concept</title> <title>Random Access Traversal Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="random-access-traversal-concept">
<h1 class="title">Random Access Traversal Concept</h1> <h1 class="title">Random Access Traversal Concept</h1>
<div class="document" id="random-access-traversal-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Random Access Traversal</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Random Access Traversal</em>
concept if the following expressions are valid and respect the stated concept if the following expressions are valid and respect the stated
semantics. In the table below, <tt class="literal"><span class="pre">Distance</span></tt> is semantics. In the table below, <tt class="literal"><span class="pre">Distance</span></tt> is
<tt class="literal"><span class="pre">iterator_traits&lt;X&gt;::difference_type</span></tt> and <tt class="literal"><span class="pre">n</span></tt> represents a <tt class="literal"><span class="pre">iterator_traits&lt;X&gt;::difference_type</span></tt> and <tt class="literal"><span class="pre">n</span></tt> represents a
constant object of type <tt class="literal"><span class="pre">Distance</span></tt>.</p> constant object of type <tt class="literal"><span class="pre">Distance</span></tt>.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="28%" /> <col width="28%" />
<col width="30%" /> <col width="30%" />

View File

@ -3,19 +3,19 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Readable Iterator Concept</title> <title>Readable Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="readable-iterator-concept">
<h1 class="title">Readable Iterator Concept</h1> <h1 class="title">Readable Iterator Concept</h1>
<div class="document" id="readable-iterator-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Readable Iterator</em> concept <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Readable Iterator</em> concept
for value type <tt class="literal"><span class="pre">T</span></tt> if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Assignable and for value type <tt class="literal"><span class="pre">T</span></tt> if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Assignable and
Copy Constructible, the following expressions are valid and respect Copy Constructible, the following expressions are valid and respect
the stated semantics. <tt class="literal"><span class="pre">U</span></tt> is the type of any specified member of the stated semantics. <tt class="literal"><span class="pre">U</span></tt> is the type of any specified member of
type <tt class="literal"><span class="pre">T</span></tt>.</p> type <tt class="literal"><span class="pre">T</span></tt>.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="28%" /> <col width="28%" />
<col width="20%" /> <col width="20%" />

View File

@ -3,17 +3,17 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Single Pass Iterator Concept</title> <title>Single Pass Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="single-pass-iterator-concept">
<h1 class="title">Single Pass Iterator Concept</h1> <h1 class="title">Single Pass Iterator Concept</h1>
<div class="document" id="single-pass-iterator-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Single Pass Iterator</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Single Pass Iterator</em>
concept if the following expressions are valid and respect the stated concept if the following expressions are valid and respect the stated
semantics.</p> semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="36%" /> <col width="36%" />
<col width="33%" /> <col width="33%" />

View File

@ -3,17 +3,17 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Swappable Iterator Concept</title> <title>Swappable Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="swappable-iterator-concept">
<h1 class="title">Swappable Iterator Concept</h1> <h1 class="title">Swappable Iterator Concept</h1>
<div class="document" id="swappable-iterator-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Swappable Iterator</em> concept <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Swappable Iterator</em> concept
if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Copy Constructible, the following if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Copy Constructible, the following
expressions are valid and respect the stated semantics.</p> expressions are valid and respect the stated semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="19%" /> <col width="19%" />

View File

@ -3,18 +3,18 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Writable Iterator Concept</title> <title>Writable Iterator Concept</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="writable-iterator-concept">
<h1 class="title">Writable Iterator Concept</h1> <h1 class="title">Writable Iterator Concept</h1>
<div class="document" id="writable-iterator-concept">
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Writable Iterator</em> concept <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Writable Iterator</em> concept
if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Copy Constructible, the following if, in addition to <tt class="literal"><span class="pre">X</span></tt> being Copy Constructible, the following
expressions are valid and respect the stated semantics. Writable expressions are valid and respect the stated semantics. Writable
Iterators have an associated <em>set of value types</em>.</p> Iterators have an associated <em>set of value types</em>.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="21%" /> <col width="21%" />

View File

@ -3,16 +3,15 @@
<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.3.6: 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" />
<meta name="date" content="2004-01-15" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="counting-iterator">
<h1 class="title">Counting Iterator</h1> <h1 class="title">Counting Iterator</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -27,11 +26,12 @@
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>2004-01-15</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="counting-iterator">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -52,7 +52,7 @@ are forwarded to the adapted object.</p>
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#counting-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">counting_iterator</span></tt> synopsis</a></li> <li><a class="reference" href="#counting-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">counting_iterator</span></tt> synopsis</a></li>
<li><a class="reference" href="#counting-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">counting_iterator</span></tt> requirements</a></li> <li><a class="reference" href="#counting-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">counting_iterator</span></tt> requirements</a></li>

Binary file not shown.

View File

@ -7,7 +7,7 @@
<title>Iterator Facade and Adaptor</title> <title>Iterator Facade and 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, Zephyr Associates, Inc." /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
<meta name="date" content="2004-01-21" /> <meta name="date" content="2004-11-01" />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -24,7 +24,7 @@
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr> Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-21</td></tr> <td>2004-11-01</td></tr>
<tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1530.html">N1530</a>=03-0113, which was <tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1530.html">N1530</a>=03-0113, which was
accepted for Technical Report 1 by the C++ standard accepted for Technical Report 1 by the C++ standard
committee's library working group.</td> committee's library working group.</td>
@ -38,7 +38,7 @@ n1530_, the paper accepted by the LWG. -->
<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">copyright:</th><td class="field-body">Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All rights reserved</td> <tr class="field"><th class="field-name">copyright:</th><td class="field-body">Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -266,8 +266,7 @@ interoperability without introducing unwanted overloads.</p>
<h2><a class="toc-backref" href="#id20" name="iterator-facade">Iterator Facade</a></h2> <h2><a class="toc-backref" href="#id20" name="iterator-facade">Iterator Facade</a></h2>
<!-- Version 1.1 of this ReStructuredText document corresponds to <!-- Version 1.1 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>While the iterator interface is rich, there is a core subset of the <p>While the iterator interface is rich, there is a core subset of the
interface that is necessary for all the functionality. We have interface that is necessary for all the functionality. We have
identified the following core behaviors for iterators:</p> identified the following core behaviors for iterators:</p>
@ -454,8 +453,7 @@ Patterns, C++ Report, February 1995, pp. 24-27.</td></tr>
<h2><a class="toc-backref" href="#id25" name="iterator-adaptor">Iterator Adaptor</a></h2> <h2><a class="toc-backref" href="#id25" name="iterator-adaptor">Iterator Adaptor</a></h2>
<!-- Version 1.2 of this ReStructuredText document corresponds to <!-- Version 1.2 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>The <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id7" name="id7"><sup>3</sup></a> <p>The <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id7" name="id7"><sup>3</sup></a>
type to create a new iterator. Instantiations of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> type to create a new iterator. Instantiations of <tt class="literal"><span class="pre">iterator_adaptor</span></tt>
are derived from a corresponding instantiation of <tt class="literal"><span class="pre">iterator_facade</span></tt> are derived from a corresponding instantiation of <tt class="literal"><span class="pre">iterator_facade</span></tt>
@ -603,8 +601,7 @@ and associated types, to be supplied by a derived iterator class.</p>
<h3><a class="toc-backref" href="#id30" name="class-template-iterator-facade">Class template <tt class="literal"><span class="pre">iterator_facade</span></tt></a></h3> <h3><a class="toc-backref" href="#id30" name="class-template-iterator-facade">Class template <tt class="literal"><span class="pre">iterator_facade</span></tt></a></h3>
<!-- Version 1.3 of this ReStructuredText document corresponds to <!-- Version 1.3 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<pre class="literal-block"> <pre class="literal-block">
template &lt; template &lt;
class Derived class Derived
@ -1168,8 +1165,7 @@ operator -(iterator_facade&lt;Dr1,V1,TC1,R1,D1&gt; const&amp; lhs,
<h2><a class="toc-backref" href="#id33" name="iterator-adaptor-lib-iterator-adaptor">Iterator adaptor [lib.iterator.adaptor]</a></h2> <h2><a class="toc-backref" href="#id33" name="iterator-adaptor-lib-iterator-adaptor">Iterator adaptor [lib.iterator.adaptor]</a></h2>
<!-- Version 1.1 of this ReStructuredText document corresponds to <!-- Version 1.1 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG. --> n1530_, the paper accepted by the LWG. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>Each specialization of the <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template is derived from <p>Each specialization of the <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template is derived from
a specialization of <tt class="literal"><span class="pre">iterator_facade</span></tt>. The core interface functions a specialization of <tt class="literal"><span class="pre">iterator_facade</span></tt>. The core interface functions
expected by <tt class="literal"><span class="pre">iterator_facade</span></tt> are implemented in terms of the expected by <tt class="literal"><span class="pre">iterator_facade</span></tt> are implemented in terms of the
@ -1184,8 +1180,7 @@ core interface functions of <tt class="literal"><span class="pre">iterator_facad
<h3><a class="toc-backref" href="#id34" name="class-template-iterator-adaptor">Class template <tt class="literal"><span class="pre">iterator_adaptor</span></tt></a></h3> <h3><a class="toc-backref" href="#id34" name="class-template-iterator-adaptor">Class template <tt class="literal"><span class="pre">iterator_adaptor</span></tt></a></h3>
<!-- Version 1.4 of this ReStructuredText document corresponds to <!-- Version 1.4 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved. -->
<pre class="literal-block"> <pre class="literal-block">
template &lt; template &lt;
class Derived class Derived

Binary file not shown.

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<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="2004-01-13" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="filter-iterator">
<h1 class="title">Filter Iterator</h1> <h1 class="title">Filter Iterator</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -27,11 +26,12 @@
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>2004-01-13</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="filter-iterator">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -50,7 +50,7 @@ sequence to be traversed.</td>
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#filter-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">filter_iterator</span></tt> synopsis</a></li> <li><a class="reference" href="#filter-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">filter_iterator</span></tt> synopsis</a></li>
<li><a class="reference" href="#filter-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></li> <li><a class="reference" href="#filter-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></li>
@ -116,7 +116,7 @@ the expression <tt class="literal"><span class="pre">p(x)</span></tt> must be va
<p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which <p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which
concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the
following tables.</p> following tables.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="33%" /> <col width="33%" />
<col width="67%" /> <col width="67%" />
@ -135,7 +135,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="41%" /> <col width="41%" />
<col width="59%" /> <col width="59%" />
@ -157,7 +157,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="63%" /> <col width="63%" />
<col width="38%" /> <col width="38%" />

Binary file not shown.

View File

@ -3,11 +3,16 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt -->
<!-- 2004. Use, modification and distribution is subject to the Boost -->
<!-- Software License, Version 1.0. (See accompanying file -->
<!-- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
<pre class="literal-block"> <pre class="literal-block">
template &lt;class Predicate, class Iterator&gt; template &lt;class Predicate, class Iterator&gt;
class filter_iterator class filter_iterator
@ -29,35 +34,36 @@ class filter_iterator
); );
Predicate predicate() const; Predicate predicate() const;
Iterator end() const; Iterator end() const;
Iterator base() const; Iterator const&amp; base() const;
reference operator*() const; reference operator*() const;
filter_iterator&amp; operator++(); filter_iterator&amp; operator++();
private: private:
Predicate m_pred; // exposition Predicate m_pred; // exposition only
Iterator m_iter; // exposition Iterator m_iter; // exposition only
Iterator m_end; // exposition Iterator m_end; // exposition only
}; };
</pre> </pre>
<p>The <tt class="literal"><span class="pre">iterator_category</span></tt> member is a type convertible to the tags <p>If <tt class="literal"><span class="pre">Iterator</span></tt> models Readable Lvalue Iterator and Forward Traversal
corresponding to each standard concept modeled by <tt class="literal"><span class="pre">filter_iterator</span></tt>, Iterator then <tt class="literal"><span class="pre">iterator_category</span></tt> is convertible to
as described in the models section.</p> <tt class="literal"><span class="pre">std::forward_iterator_tag</span></tt>. Otherwise <tt class="literal"><span class="pre">iterator_category</span></tt> is
convertible to <tt class="literal"><span class="pre">std::input_iterator_tag</span></tt>.</p>
<div class="section" id="filter-iterator-requirements"> <div class="section" id="filter-iterator-requirements">
<h1><a name="filter-iterator-requirements"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></h1> <h1><a name="filter-iterator-requirements"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></h1>
<p>The <tt class="literal"><span class="pre">Iterator</span></tt> argument shall meet the requirements of Readable
Iterator and Single Pass Iterator or it shall meet the requirements of
Input Iterator.</p>
<p>The <tt class="literal"><span class="pre">Predicate</span></tt> argument must be Assignable, Copy Constructible, and <p>The <tt class="literal"><span class="pre">Predicate</span></tt> argument must be Assignable, Copy Constructible, and
the expression <tt class="literal"><span class="pre">p(x)</span></tt> must be valid where <tt class="literal"><span class="pre">p</span></tt> is an object of type the expression <tt class="literal"><span class="pre">p(x)</span></tt> must be valid where <tt class="literal"><span class="pre">p</span></tt> is an object of type
<tt class="literal"><span class="pre">Predicate</span></tt>, <tt class="literal"><span class="pre">x</span></tt> is an object of type <tt class="literal"><span class="pre">Predicate</span></tt>, <tt class="literal"><span class="pre">x</span></tt> is an object of type
<tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt>, and where the type of <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt>, and where the type of
<tt class="literal"><span class="pre">p(x)</span></tt> must be convertible to <tt class="literal"><span class="pre">bool</span></tt>.</p> <tt class="literal"><span class="pre">p(x)</span></tt> must be convertible to <tt class="literal"><span class="pre">bool</span></tt>.</p>
<p>The <tt class="literal"><span class="pre">Iterator</span></tt> argument shall meet the requirements of Readable
Iterator and Single Pass Iterator or it shall meet the requirements of
Input Iterator.</p>
</div> </div>
<div class="section" id="filter-iterator-models"> <div class="section" id="filter-iterator-models">
<h1><a name="filter-iterator-models"><tt class="literal"><span class="pre">filter_iterator</span></tt> models</a></h1> <h1><a name="filter-iterator-models"><tt class="literal"><span class="pre">filter_iterator</span></tt> models</a></h1>
<p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which <p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which
concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the
following tables.</p> following tables.</p>
<table class="table" frame="border" rules="all"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="33%" /> <col width="33%" />
<col width="67%" /> <col width="67%" />
@ -76,7 +82,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table class="table" frame="border" rules="all"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="41%" /> <col width="41%" />
<col width="59%" /> <col width="59%" />
@ -98,7 +104,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table class="table" frame="border" rules="all"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="63%" /> <col width="63%" />
<col width="38%" /> <col width="38%" />
@ -120,6 +126,8 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p><tt class="literal"><span class="pre">filter_iterator&lt;P1,</span> <span class="pre">X&gt;</span></tt> is interoperable with <tt class="literal"><span class="pre">filter_iterator&lt;P2,</span> <span class="pre">Y&gt;</span></tt>
if and only if <tt class="literal"><span class="pre">X</span></tt> is interoperable with <tt class="literal"><span class="pre">Y</span></tt>.</p>
</div> </div>
<div class="section" id="filter-iterator-operations"> <div class="section" id="filter-iterator-operations">
<h1><a name="filter-iterator-operations"><tt class="literal"><span class="pre">filter_iterator</span></tt> operations</a></h1> <h1><a name="filter-iterator-operations"><tt class="literal"><span class="pre">filter_iterator</span></tt> operations</a></h1>
@ -133,7 +141,7 @@ operations.</p>
<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> and <tt class="literal"><span class="pre">Iterator</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> and <tt class="literal"><span class="pre">Iterator</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> whose``m_pred``, <tt class="literal"><span class="pre">m_iter</span></tt>, and <tt class="literal"><span class="pre">m_end</span></tt> <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs a <tt class="literal"><span class="pre">filter_iterator</span></tt> whose``m_pred``, <tt class="literal"><span class="pre">m_iter</span></tt>, and <tt class="literal"><span class="pre">m_end</span></tt>
members are a default constructed.</td> members are a default constructed.</td>
</tr> </tr>
</tbody> </tbody>
@ -143,7 +151,7 @@ members are a default constructed.</td>
<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> where <tt class="literal"><span class="pre">m_iter</span></tt> is either <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs a <tt class="literal"><span class="pre">filter_iterator</span></tt> where <tt class="literal"><span class="pre">m_iter</span></tt> is either
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(*m_iter)</span> <span class="pre">==</span> <span class="pre">true</span></tt> 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(*m_iter)</span> <span class="pre">==</span> <span class="pre">true</span></tt>
or else``m_iter == end``. The member <tt class="literal"><span class="pre">m_pred</span></tt> is constructed from or else``m_iter == end``. The member <tt class="literal"><span class="pre">m_pred</span></tt> is constructed from
<tt class="literal"><span class="pre">f</span></tt> and <tt class="literal"><span class="pre">m_end</span></tt> from <tt class="literal"><span class="pre">end</span></tt>.</td> <tt class="literal"><span class="pre">f</span></tt> and <tt class="literal"><span class="pre">m_end</span></tt> from <tt class="literal"><span class="pre">end</span></tt>.</td>
@ -155,9 +163,10 @@ or else``m_iter == end``. The member <tt class="literal"><span class="pre">m_pre
<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">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 and
<tt class="literal"><span class="pre">Predicate</span></tt> is a class type (not a function pointer).</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> where <tt class="literal"><span class="pre">m_iter</span></tt> is either <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs a <tt class="literal"><span class="pre">filter_iterator</span></tt> where <tt class="literal"><span class="pre">m_iter</span></tt> is either
the first position in the range <tt class="literal"><span class="pre">[x,end)</span></tt> such that <tt class="literal"><span class="pre">m_pred(*m_iter)</span> <span class="pre">==</span> <span class="pre">true</span></tt> the first position in the range <tt class="literal"><span class="pre">[x,end)</span></tt> such that <tt class="literal"><span class="pre">m_pred(*m_iter)</span> <span class="pre">==</span> <span class="pre">true</span></tt>
or else``m_iter == end``. The member <tt class="literal"><span class="pre">m_pred</span></tt> is default constructed.</td> or else``m_iter == end``. The member <tt class="literal"><span class="pre">m_pred</span></tt> is default constructed.</td>
</tr> </tr>
@ -176,7 +185,7 @@ 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 filter iterator whose members are copied from <tt class="literal"><span class="pre">t</span></tt>.</td> <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs a filter iterator whose members are copied from <tt class="literal"><span class="pre">t</span></tt>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -198,7 +207,7 @@ filter_iterator(
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p><tt class="literal"><span class="pre">Iterator</span> <span class="pre">base()</span> <span class="pre">const;</span></tt></p> <p><tt class="literal"><span class="pre">Iterator</span> <span class="pre">const&amp;</span> <span class="pre">base()</span> <span class="pre">const;</span></tt></p>
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -231,10 +240,9 @@ or <tt class="literal"><span class="pre">m_pred(*m_iter)</span> <span class="pre
</table> </table>
</div> </div>
</div> </div>
<hr class="footer"/> <hr class="footer" />
<div class="footer"> <div class="footer">
<a class="reference" href="filter_iterator_ref.rst">View document source</a>. <a class="reference" href="filter_iterator_ref.rst">View document source</a>.
Generated on: 2004-01-13 02:57 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

@ -7,8 +7,8 @@
<title>Function Output Iterator</title> <title>Function Output 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="2004-01-13" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -26,9 +26,9 @@
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>2004-01-13</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="function-output-iterator"> <div class="document" id="function-output-iterator">

Binary file not shown.

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.4: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>The Boost.Iterator Library Boost</title> <title>The Boost.Iterator Library Boost</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
@ -24,7 +24,7 @@ Lab</a>, <a class="reference" href="http://www.styleadvisor.com">Zephyr Associat
</tr> </tr>
<tr class="field"><th class="field-name">date:</th><td class="field-body">$Date$</td> <tr class="field"><th class="field-name">date:</th><td class="field-body">$Date$</td>
</tr> </tr>
<tr class="field"><th class="field-name">copyright:</th><td class="field-body">Copyright David Abrahams, Jeremy Siek, Thomas Witt 2003. All rights reserved</td> <tr class="field"><th class="field-name">copyright:</th><td class="field-body">Copyright David Abrahams, Jeremy Siek, Thomas Witt 2003.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -17,7 +17,7 @@ __ ../../../index.htm
Lab`_, `Zephyr Associates, Inc.`_ Lab`_, `Zephyr Associates, Inc.`_
:date: $Date$ :date: $Date$
:copyright: Copyright David Abrahams, Jeremy Siek, Thomas Witt 2003. All rights reserved :copyright: Copyright David Abrahams, Jeremy Siek, Thomas Witt 2003.
.. _`Boost Consulting`: http://www.boost-consulting.com .. _`Boost Consulting`: http://www.boost-consulting.com
.. _`Open Systems Lab`: http://www.osl.iu.edu .. _`Open Systems Lab`: http://www.osl.iu.edu

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Indirect Iterator</title> <title>Indirect 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="2004-01-15" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="indirect-iterator">
<h1 class="title">Indirect Iterator</h1> <h1 class="title">Indirect Iterator</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -27,11 +26,12 @@
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>2004-01-15</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="indirect-iterator">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -48,7 +48,7 @@ not an iterator.</td>
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#indirect-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></li> <li><a class="reference" href="#indirect-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">indirect_iterator</span></tt> synopsis</a></li>
<li><a class="reference" href="#indirect-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">indirect_iterator</span></tt> requirements</a></li> <li><a class="reference" href="#indirect-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">indirect_iterator</span></tt> requirements</a></li>

Binary file not shown.

View File

@ -3,7 +3,8 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -38,64 +39,91 @@ class indirect_iterator
&gt; const&amp; y &gt; const&amp; y
, typename enable_if_convertible&lt;Iterator2, Iterator&gt;::type* = 0 // exposition , typename enable_if_convertible&lt;Iterator2, Iterator&gt;::type* = 0 // exposition
); );
Iterator const&amp; base() const;
reference operator*() const;
indirect_iterator&amp; operator++();
indirect_iterator&amp; operator--();
private:
Iterator m_iterator; // exposition
}; };
</pre> </pre>
<p>The member types of <tt class="literal"><span class="pre">indirect_iterator</span></tt> are defined according to the <p>The member types of <tt class="literal"><span class="pre">indirect_iterator</span></tt> are defined according to
following pseudo-code. We use the abbreviation the following pseudo-code, where <tt class="literal"><span class="pre">V</span></tt> is
<tt class="literal"><span class="pre">V=iterator_traits&lt;Iterator&gt;::value_type</span></tt> and <tt class="literal"><span class="pre">v</span></tt> is an object of <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt></p>
type <tt class="literal"><span class="pre">V</span></tt>.:</p>
<pre class="literal-block"> <pre class="literal-block">
if (Value is use_default) then if (Value is use_default) then
typedef iterator_traits&lt;V&gt;::value_type value_type; typedef remove_const&lt;pointee&lt;V&gt;::type&gt;::type value_type;
else else
typedef remove_const&lt;Value&gt;::type value_type; typedef remove_const&lt;Value&gt;::type value_type;
if (Reference is use_default) then if (Reference is use_default) then
typedef iterator_traits&lt;V&gt;::reference reference; if (Value is use_default) then
typedef indirect_reference&lt;V&gt;::type reference;
else
typedef Value&amp; reference;
else else
typedef Reference reference; typedef Reference reference;
typedef Value* pointer; if (Value is use_default) then
typedef pointee&lt;V&gt;::type* pointer;
else
typedef Value* pointer;
if (Difference is use_default) if (Difference is use_default)
typedef iterator_traits&lt;Iterator&gt;::difference_type difference_type; typedef iterator_traits&lt;Iterator&gt;::difference_type difference_type;
else else
typedef Difference difference_type; typedef Difference difference_type;
if (CategoryOrTraversal is use_default)
typedef <em>iterator-category</em> (
iterator_traversal&lt;Iterator&gt;::type,``reference``,``value_type``
) iterator_category;
else
typedef <em>iterator-category</em> (
CategoryOrTraversal,``reference``,``value_type``
) iterator_category;
</pre> </pre>
<p>The member <tt class="literal"><span class="pre">indirect_iterator::iterator_category</span></tt> is a type that
satisfies the requirements of the concepts modeled by the indirect
iterator as specified in the models section.</p>
<div class="section" id="indirect-iterator-requirements"> <div class="section" id="indirect-iterator-requirements">
<h1><a name="indirect-iterator-requirements"><tt class="literal"><span class="pre">indirect_iterator</span></tt> requirements</a></h1> <h1><a name="indirect-iterator-requirements"><tt class="literal"><span class="pre">indirect_iterator</span></tt> requirements</a></h1>
<p>The <tt class="literal"><span class="pre">Iterator</span></tt> argument shall meet the requirements of Readable <p>The expression <tt class="literal"><span class="pre">*v</span></tt>, where <tt class="literal"><span class="pre">v</span></tt> is an object of
Iterator. The <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt> argument shall be one of the <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt>, shall be valid
standard iterator tags or <tt class="literal"><span class="pre">use_default</span></tt>. If <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt> expression and convertible to <tt class="literal"><span class="pre">reference</span></tt>. <tt class="literal"><span class="pre">Iterator</span></tt> shall
is an iterator tag, the template parameter <tt class="literal"><span class="pre">Iterator</span></tt> argument shall model the traversal concept indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>.
meet the traversal requirements corresponding to the iterator tag.</p> <tt class="literal"><span class="pre">Value</span></tt>, <tt class="literal"><span class="pre">Reference</span></tt>, and <tt class="literal"><span class="pre">Difference</span></tt> shall be chosen so
<p>The expression <tt class="literal"><span class="pre">*v</span></tt>, where <tt class="literal"><span class="pre">v</span></tt> is an object of type that <tt class="literal"><span class="pre">value_type</span></tt>, <tt class="literal"><span class="pre">reference</span></tt>, and <tt class="literal"><span class="pre">difference_type</span></tt> meet
<tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt>, must be a valid expression the requirements indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>.</p>
and must be convertible to <tt class="literal"><span class="pre">indirect_iterator::reference</span></tt>. Also, <p>[Note: there are further requirements on the
there are further requirements on the <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt> if the <tt class="literal"><span class="pre">Value</span></tt>
<tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt> if the <tt class="literal"><span class="pre">Value</span></tt> parameter parameter is not <tt class="literal"><span class="pre">use_default</span></tt>, as implied by the algorithm for
is not <tt class="literal"><span class="pre">use_default</span></tt>, as implied by the algorithm for deducing the deducing the default for the <tt class="literal"><span class="pre">value_type</span></tt> member.]</p>
default for the <tt class="literal"><span class="pre">value_type</span></tt> member.</p>
</div> </div>
<div class="section" id="indirect-iterator-models"> <div class="section" id="indirect-iterator-models">
<h1><a name="indirect-iterator-models"><tt class="literal"><span class="pre">indirect_iterator</span></tt> models</a></h1> <h1><a name="indirect-iterator-models"><tt class="literal"><span class="pre">indirect_iterator</span></tt> models</a></h1>
<p>If <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt> is a standard iterator tag, <p>In addition to the concepts indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>
<tt class="literal"><span class="pre">indirect_iterator</span></tt> is a model of the iterator concept corresponding and by <tt class="literal"><span class="pre">iterator_traversal&lt;indirect_iterator&gt;::type</span></tt>, a
to the tag, otherwise <tt class="literal"><span class="pre">indirect_iterator</span></tt> satisfies the requirements specialization of <tt class="literal"><span class="pre">indirect_iterator</span></tt> models the following
of the most refined standard traversal concept that is satisfied by concepts, Where <tt class="literal"><span class="pre">v</span></tt> is an object of
the <tt class="literal"><span class="pre">Iterator</span></tt> argument.</p> <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt>:</p>
<p><tt class="literal"><span class="pre">indirect_iterator</span></tt> models Readable Iterator. If <blockquote>
<tt class="literal"><span class="pre">indirect_iterator::reference(*v)</span> <span class="pre">=</span> <span class="pre">t</span></tt> is a valid expression (where <ul class="simple">
<tt class="literal"><span class="pre">t</span></tt> is an object of type <tt class="literal"><span class="pre">indirect_iterator::value_type</span></tt>) then <li>Readable Iterator if <tt class="literal"><span class="pre">reference(*v)</span></tt> is convertible to
<tt class="literal"><span class="pre">indirect_iterator</span></tt> models Writable Iterator. If <tt class="literal"><span class="pre">value_type</span></tt>.</li>
<tt class="literal"><span class="pre">indirect_iterator::reference</span></tt> is a reference then <li>Writable Iterator if <tt class="literal"><span class="pre">reference(*v)</span> <span class="pre">=</span> <span class="pre">t</span></tt> is a valid
<tt class="literal"><span class="pre">indirect_iterator</span></tt> models Lvalue Iterator.</p> expression (where <tt class="literal"><span class="pre">t</span></tt> is an object of type
<tt class="literal"><span class="pre">indirect_iterator::value_type</span></tt>)</li>
<li>Lvalue Iterator if <tt class="literal"><span class="pre">reference</span></tt> is a reference type.</li>
</ul>
</blockquote>
<p><tt class="literal"><span class="pre">indirect_iterator&lt;X,V1,C1,R1,D1&gt;</span></tt> is interoperable with
<tt class="literal"><span class="pre">indirect_iterator&lt;Y,V2,C2,R2,D2&gt;</span></tt> if and only if <tt class="literal"><span class="pre">X</span></tt> is
interoperable with <tt class="literal"><span class="pre">Y</span></tt>.</p>
</div> </div>
<div class="section" id="indirect-iterator-operations"> <div class="section" id="indirect-iterator-operations">
<h1><a name="indirect-iterator-operations"><tt class="literal"><span class="pre">indirect_iterator</span></tt> operations</a></h1> <h1><a name="indirect-iterator-operations"><tt class="literal"><span class="pre">indirect_iterator</span></tt> operations</a></h1>
<p>In addition to the operations required by the concepts described
above, specializations of <tt class="literal"><span class="pre">indirect_iterator</span></tt> provide the
following operations.</p>
<p><tt class="literal"><span class="pre">indirect_iterator();</span></tt></p> <p><tt class="literal"><span class="pre">indirect_iterator();</span></tt></p>
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
@ -103,8 +131,8 @@ the <tt class="literal"><span class="pre">Iterator</span></tt> argument.</p>
<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">Iterator</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">Iterator</span></tt> must be Default Constructible.</td>
</tr> </tr>
<tr class="field"><th class="field-name">Returns:</th><td class="field-body">An instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> with <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs an instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> with
a default-constructed <tt class="literal"><span class="pre">iterator_adaptor</span></tt> subobject.</td> a default-constructed <tt class="literal"><span class="pre">m_iterator</span></tt>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -113,8 +141,8 @@ a default-constructed <tt class="literal"><span class="pre">iterator_adaptor</sp
<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">An instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> with <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs an instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> with
the <tt class="literal"><span class="pre">iterator_adaptor</span></tt> subobject copy constructed from <tt class="literal"><span class="pre">x</span></tt>.</td> <tt class="literal"><span class="pre">m_iterator</span></tt> copy constructed from <tt class="literal"><span class="pre">x</span></tt>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -136,12 +164,57 @@ indirect_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">Iterator2</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">Iterator2</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">An instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> whose <tr class="field"><th class="field-name">Effects:</th><td class="field-body">Constructs an instance of <tt class="literal"><span class="pre">indirect_iterator</span></tt> whose
<tt class="literal"><span class="pre">iterator_adaptor</span></tt> subobject is constructed from <tt class="literal"><span class="pre">y.base()</span></tt>.</td> <tt class="literal"><span class="pre">m_iterator</span></tt> subobject is constructed from <tt class="literal"><span class="pre">y.base()</span></tt>.</td>
</tr>
</tbody>
</table>
<p><tt class="literal"><span class="pre">Iterator</span> <span class="pre">const&amp;</span> <span class="pre">base()</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">m_iterator</span></tt></td>
</tr>
</tbody>
</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">**m_iterator</span></tt></td>
</tr>
</tbody>
</table>
<p><tt class="literal"><span class="pre">indirect_iterator&amp;</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"><tt class="literal"><span class="pre">++m_iterator</span></tt></td>
</tr>
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><tt class="literal"><span class="pre">*this</span></tt></td>
</tr>
</tbody>
</table>
<p><tt class="literal"><span class="pre">indirect_iterator&amp;</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"><tt class="literal"><span class="pre">--m_iterator</span></tt></td>
</tr>
<tr class="field"><th class="field-name">Returns:</th><td class="field-body"><tt class="literal"><span class="pre">*this</span></tt></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
<hr class="footer" />
<div class="footer">
<a class="reference" href="indirect_iterator_ref.rst">View document source</a>.
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> </body>
</html> </html>

View File

@ -3,13 +3,13 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>Problem with is_writable and is_swappable in N1550</title> <title>Problem with is_writable and is_swappable in N1550</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="problem-with-is-writable-and-is-swappable-in-n1550">
<h1 class="title">Problem with <tt class="literal"><span class="pre">is_writable</span></tt> and <tt class="literal"><span class="pre">is_swappable</span></tt> in <a class="reference" href="http://www.boost-consulting.com/writing/n1550.html">N1550</a></h1> <h1 class="title">Problem with <tt class="literal"><span class="pre">is_writable</span></tt> and <tt class="literal"><span class="pre">is_swappable</span></tt> in <a class="reference" href="http://www.boost-consulting.com/writing/n1550.html">N1550</a></h1>
<div class="document" id="problem-with-is-writable-and-is-swappable-in-n1550">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -30,7 +30,7 @@ at <a class="reference" href="http://www.boost.org/LICENSE_1_0.txt">http://www.b
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#introduction" id="id1" name="id1">Introduction</a></li> <li><a class="reference" href="#introduction" id="id1" name="id1">Introduction</a></li>
<li><a class="reference" href="#proposed-resolution" id="id2" name="id2">Proposed Resolution</a></li> <li><a class="reference" href="#proposed-resolution" id="id2" name="id2">Proposed Resolution</a></li>
@ -161,5 +161,10 @@ direct result of the removal of <tt class="literal"><span class="pre">iterator_t
</ol> </ol>
</div> </div>
</div> </div>
<hr class="footer" />
<div class="footer">
<a class="reference" href="issues.rst">View document source</a>.
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> </body>
</html> </html>

View File

@ -3,27 +3,24 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Iterator concept and adapter issues</title> <title>Iterator concept and adapter issues</title>
<meta name="date" content="2004-01-21" /> <meta name="date" content="2004-01-27" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="iterator-concept-and-adapter-issues">
<h1 class="title">Iterator concept and adapter issues</h1> <h1 class="title">Iterator concept and adapter issues</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
<col class="docinfo-content" /> <col class="docinfo-content" />
<tbody valign="top"> <tbody valign="top">
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-21</td></tr> <td>2004-01-27</td></tr>
<tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-concept-and-adapter-issues">
<div class="contents topic" id="index"> <div class="contents topic" id="index">
<p class="topic-title"><a name="index">Index</a></p> <p class="topic-title first"><a name="index">Index</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#issues-from-matt-s-tr-issues-list" id="id1" name="id1">Issues from Matt's TR issues list</a><ul> <li><a class="reference" href="#issues-from-matt-s-tr-issues-list" id="id1" name="id1">Issues from Matt's TR issues list</a><ul>
<li><a class="reference" href="#iterator-access-overspecified" id="id2" name="id2">9.1 iterator_access overspecified?</a></li> <li><a class="reference" href="#iterator-access-overspecified" id="id2" name="id2">9.1 iterator_access overspecified?</a></li>
@ -800,7 +797,7 @@ capability.</p>
</blockquote> </blockquote>
<p>From the Readable Iterator Requirements table, remove:</p> <p>From the Readable Iterator Requirements table, remove:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="37%" /> <col width="37%" />
@ -816,7 +813,7 @@ capability.</p>
</blockquote> </blockquote>
<p>From the Writable Iterator Requirements table, remove:</p> <p>From the Writable Iterator Requirements table, remove:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="21%" /> <col width="21%" />
@ -832,7 +829,7 @@ capability.</p>
</blockquote> </blockquote>
<p>From the Swappable Iterator Requirements table, remove:</p> <p>From the Swappable Iterator Requirements table, remove:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="19%" /> <col width="19%" />
@ -1632,7 +1629,7 @@ random_access_traversal_tag
<p>In [lib.iterator.traversal]:</p> <p>In [lib.iterator.traversal]:</p>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="39%" /> <col width="39%" />
<col width="37%" /> <col width="37%" />
@ -1649,7 +1646,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="39%" /> <col width="39%" />
<col width="37%" /> <col width="37%" />
@ -1666,7 +1663,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="36%" /> <col width="36%" />
<col width="33%" /> <col width="33%" />
@ -1683,7 +1680,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="36%" /> <col width="36%" />
<col width="33%" /> <col width="33%" />
@ -1700,7 +1697,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="44%" /> <col width="44%" />
<col width="39%" /> <col width="39%" />
@ -1717,7 +1714,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="38%" /> <col width="38%" />
<col width="34%" /> <col width="34%" />
@ -1734,7 +1731,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="35%" /> <col width="35%" />
<col width="44%" /> <col width="44%" />
@ -1751,7 +1748,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="38%" /> <col width="38%" />
<col width="37%" /> <col width="37%" />
@ -1768,7 +1765,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="31%" /> <col width="31%" />
<col width="35%" /> <col width="35%" />
@ -1787,7 +1784,7 @@ random_access_traversal_tag
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="28%" /> <col width="28%" />
<col width="30%" /> <col width="30%" />
@ -2452,7 +2449,7 @@ Incrementable Iterator concepts.</dd>
</tbody> </tbody>
</table> </table>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">function_output_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">function_output_iterator</span></tt> models</p>
<blockquote> <blockquote>
<tt class="literal"><span class="pre">function_output_iterator</span></tt> is a model of the Writable and <tt class="literal"><span class="pre">function_output_iterator</span></tt> is a model of the Writable and
Incrementable Iterator concepts.</blockquote> Incrementable Iterator concepts.</blockquote>
@ -2612,7 +2609,7 @@ of any specified member of type <tt class="literal"><span class="pre">T</span></
</dl> </dl>
<p>From the Input Iterator Requirements table, remove:</p> <p>From the Input Iterator Requirements table, remove:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="37%" /> <col width="37%" />
@ -2629,7 +2626,7 @@ of any specified member of type <tt class="literal"><span class="pre">T</span></
</blockquote> </blockquote>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="37%" /> <col width="37%" />
<col width="37%" /> <col width="37%" />
@ -2648,7 +2645,7 @@ equivalent to <tt class="literal"><span class="pre">*b</span></tt></td>
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="28%" /> <col width="28%" />
<col width="20%" /> <col width="20%" />
@ -2678,7 +2675,7 @@ type of the iterator.</dd>
</dl> </dl>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="42%" /> <col width="42%" />
<col width="14%" /> <col width="14%" />
@ -2705,7 +2702,7 @@ cv-qualification</td>
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="22%" /> <col width="22%" />
<col width="19%" /> <col width="19%" />
@ -2970,7 +2967,7 @@ does not provide the 'b' versions of these functions.</p>
<tr><td>&nbsp;</td><td class="field-body"><p class="first">Remove the 'b' versions.</p> <tr><td>&nbsp;</td><td class="field-body"><p class="first">Remove the 'b' versions.</p>
<p>In <tt class="literal"><span class="pre">iterator_facade</span></tt> requirements, remove:</p> <p>In <tt class="literal"><span class="pre">iterator_facade</span></tt> requirements, remove:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="19%" /> <col width="19%" />
<col width="18%" /> <col width="18%" />
@ -2989,7 +2986,7 @@ equivalent.</td>
</blockquote> </blockquote>
<p>and remove:</p> <p>and remove:</p>
<blockquote class="last"> <blockquote class="last">
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="19%" /> <col width="19%" />
<col width="18%" /> <col width="18%" />
@ -3063,7 +3060,7 @@ distance(c, (X)z)?</p>
<tr><td>&nbsp;</td><td class="field-body"><p class="first">Removed the 'b' versions (see 9.35) and added the cast.</p> <tr><td>&nbsp;</td><td class="field-body"><p class="first">Removed the 'b' versions (see 9.35) and added the cast.</p>
<p>Change:</p> <p>Change:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="19%" /> <col width="19%" />
<col width="18%" /> <col width="18%" />
@ -3085,7 +3082,7 @@ Iterator</td>
</blockquote> </blockquote>
<p>to:</p> <p>to:</p>
<blockquote class="last"> <blockquote class="last">
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="21%" /> <col width="21%" />
<col width="23%" /> <col width="23%" />
@ -3154,7 +3151,7 @@ below, <tt class="literal"><span class="pre">x</span></tt> is an object of type
type <tt class="literal"><span class="pre">Y</span></tt>, <tt class="literal"><span class="pre">Distance</span></tt> is type <tt class="literal"><span class="pre">Y</span></tt>, <tt class="literal"><span class="pre">Distance</span></tt> is
<tt class="literal"><span class="pre">iterator_traits&lt;Y&gt;::difference_type</span></tt>, and <tt class="literal"><span class="pre">n</span></tt> represents a <tt class="literal"><span class="pre">iterator_traits&lt;Y&gt;::difference_type</span></tt>, and <tt class="literal"><span class="pre">n</span></tt> represents a
constant object of type <tt class="literal"><span class="pre">Distance</span></tt>.</p> constant object of type <tt class="literal"><span class="pre">Distance</span></tt>.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="13%" /> <col width="13%" />
<col width="27%" /> <col width="27%" />
@ -3195,7 +3192,7 @@ constant object of type <tt class="literal"><span class="pre">Distance</span></t
</table> </table>
<p>If <tt class="literal"><span class="pre">X</span></tt> and <tt class="literal"><span class="pre">Y</span></tt> both model Random Access Traversal Iterator then <p>If <tt class="literal"><span class="pre">X</span></tt> and <tt class="literal"><span class="pre">Y</span></tt> both model Random Access Traversal Iterator then
the following additional requirements must be met.</p> the following additional requirements must be met.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="12%" /> <col width="12%" />
<col width="25%" /> <col width="25%" />
@ -3294,7 +3291,7 @@ class iterator_adaptor
</tbody> </tbody>
</table> </table>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</p> <p class="topic-title first"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</p>
<blockquote> <blockquote>
<p>The <em>V'</em>, <em>C'</em>, <em>R'</em>, and <em>D'</em> parameters of the <tt class="literal"><span class="pre">iterator_facade</span></tt> <p>The <em>V'</em>, <em>C'</em>, <em>R'</em>, and <em>D'</em> parameters of the <tt class="literal"><span class="pre">iterator_facade</span></tt>
used as a base class in the summary of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> used as a base class in the summary of <tt class="literal"><span class="pre">iterator_adaptor</span></tt>
@ -3404,7 +3401,7 @@ else
<p>After the requirements section, add:</p> <p>After the requirements section, add:</p>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">indirect_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">indirect_iterator</span></tt> models</p>
<blockquote> <blockquote>
<p>In addition to the concepts indicated by <tt class="literal"><span class="pre">iterator_category</span></tt> <p>In addition to the concepts indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>
and by <tt class="literal"><span class="pre">iterator_traversal&lt;indirect_iterator&gt;::type</span></tt>, a and by <tt class="literal"><span class="pre">iterator_traversal&lt;indirect_iterator&gt;::type</span></tt>, a
@ -3569,13 +3566,13 @@ by <tt class="literal"><span class="pre">Iterator</span></tt>.</p>
</dl> </dl>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">reverse_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">reverse_iterator</span></tt> models</p>
<blockquote> <blockquote>
<p>A specialization of <tt class="literal"><span class="pre">reverse_iterator</span></tt> models the same iterator <p>A specialization of <tt class="literal"><span class="pre">reverse_iterator</span></tt> models the same iterator
traversal and iterator access concepts modeled by its <tt class="literal"><span class="pre">Iterator</span></tt> traversal and iterator access concepts modeled by its <tt class="literal"><span class="pre">Iterator</span></tt>
argument. In addition, it may model old iterator concepts argument. In addition, it may model old iterator concepts
specified in the following table:</p> specified in the following table:</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="53%" /> <col width="53%" />
<col width="47%" /> <col width="47%" />
@ -3798,7 +3795,7 @@ The <tt class="literal"><span class="pre">value_type</span></tt> is <tt class="l
<p>After the requirements section, add:</p> <p>After the requirements section, add:</p>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">transform_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">transform_iterator</span></tt> models</p>
<blockquote> <blockquote>
<p>The resulting <tt class="literal"><span class="pre">transform_iterator</span></tt> models the most refined of the <p>The resulting <tt class="literal"><span class="pre">transform_iterator</span></tt> models the most refined of the
following options that is also modeled by <tt class="literal"><span class="pre">Iterator</span></tt>.</p> following options that is also modeled by <tt class="literal"><span class="pre">Iterator</span></tt>.</p>
@ -3817,7 +3814,7 @@ concept that is modeled by the <tt class="literal"><span class="pre">Iterator</s
<p>If <tt class="literal"><span class="pre">transform_iterator</span></tt> is a model of Readable Lvalue Iterator then <p>If <tt class="literal"><span class="pre">transform_iterator</span></tt> is a model of Readable Lvalue Iterator then
it models the following original iterator concepts depending on what it models the following original iterator concepts depending on what
the <tt class="literal"><span class="pre">Iterator</span></tt> argument models.</p> the <tt class="literal"><span class="pre">Iterator</span></tt> argument models.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="50%" /> <col width="50%" />
<col width="50%" /> <col width="50%" />
@ -3946,12 +3943,12 @@ Input Iterator.</dd>
<p>After the requirements section, add:</p> <p>After the requirements section, add:</p>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">filter_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">filter_iterator</span></tt> models</p>
<blockquote> <blockquote>
<p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which <p>The concepts that <tt class="literal"><span class="pre">filter_iterator</span></tt> models are dependent on which
concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the concepts the <tt class="literal"><span class="pre">Iterator</span></tt> argument models, as specified in the
following tables.</p> following tables.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="33%" /> <col width="33%" />
<col width="67%" /> <col width="67%" />
@ -3970,7 +3967,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="41%" /> <col width="41%" />
<col width="59%" /> <col width="59%" />
@ -3992,7 +3989,7 @@ following tables.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="63%" /> <col width="63%" />
<col width="38%" /> <col width="38%" />
@ -4287,7 +4284,7 @@ the following must must also be valid:</dd>
<p>After the requirements section, add:</p> <p>After the requirements section, add:</p>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title"><tt class="literal"><span class="pre">counting_iterator</span></tt> models</p> <p class="topic-title first"><tt class="literal"><span class="pre">counting_iterator</span></tt> models</p>
<blockquote> <blockquote>
<p>Specializations of <tt class="literal"><span class="pre">counting_iterator</span></tt> model Readable Lvalue <p>Specializations of <tt class="literal"><span class="pre">counting_iterator</span></tt> model Readable Lvalue
Iterator. In addition, they model the concepts corresponding to the Iterator. In addition, they model the concepts corresponding to the
@ -4433,7 +4430,7 @@ object copy constructed from <tt class="literal"><span class="pre">x</span></tt>
<p>c++std-lib-12585:</p> <p>c++std-lib-12585:</p>
<p>Readable Iterator Requirements says:</p> <p>Readable Iterator Requirements says:</p>
<blockquote> <blockquote>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="13%" /> <col width="13%" />
<col width="10%" /> <col width="10%" />
@ -4802,7 +4799,7 @@ struct indirect_reference;
</tbody> </tbody>
</table> </table>
<div class="topic"> <div class="topic">
<p class="topic-title">Class template <tt class="literal"><span class="pre">pointee</span></tt></p> <p class="topic-title first">Class template <tt class="literal"><span class="pre">pointee</span></tt></p>
<!-- Copyright David Abrahams 2004. Use, modification and distribution is --> <!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
<!-- subject to the Boost Software License, Version 1.0. (See accompanying --> <!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
@ -4846,7 +4843,7 @@ else
</pre> </pre>
</div> </div>
<div class="topic"> <div class="topic">
<p class="topic-title">Class template <tt class="literal"><span class="pre">indirect_reference</span></tt></p> <p class="topic-title first">Class template <tt class="literal"><span class="pre">indirect_reference</span></tt></p>
<!-- Copyright David Abrahams 2004. Use, modification and distribution is --> <!-- Copyright David Abrahams 2004. Use, modification and distribution is -->
<!-- subject to the Boost Software License, Version 1.0. (See accompanying --> <!-- subject to the Boost Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
@ -4991,7 +4988,7 @@ Traversal Iterator to include Default Constructible.</p>
<p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Forward Traversal Iterator</em> <p>A class or built-in type <tt class="literal"><span class="pre">X</span></tt> models the <em>Forward Traversal Iterator</em>
concept if the following expressions are valid and respect the stated concept if the following expressions are valid and respect the stated
semantics.</p> semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="44%" /> <col width="44%" />
<col width="39%" /> <col width="39%" />
@ -5010,7 +5007,7 @@ concept if, in addition to <tt class="literal"><span class="pre">X</span></tt> m
Default Constructible and Single Pass Iterator, the following Default Constructible and Single Pass Iterator, the following
expressions are valid and respect the expressions are valid and respect the
stated semantics.</p> stated semantics.</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="38%" /> <col width="38%" />
<col width="34%" /> <col width="34%" />
@ -5122,7 +5119,7 @@ object of type <tt class="literal"><span class="pre">X</span></tt>, <tt class="l
object of a single pass iterator type interoperable with X, and <tt class="literal"><span class="pre">z</span></tt> object of a single pass iterator type interoperable with X, and <tt class="literal"><span class="pre">z</span></tt>
is a constant object of a random access traversal iterator type 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>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="19%" /> <col width="19%" />
<col width="18%" /> <col width="18%" />
@ -5202,7 +5199,7 @@ object of a single pass iterator type interoperable with <tt class="literal"><sp
is a constant object of a random access traversal iterator type 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>
<p><strong>iterator_facade Core Operations</strong></p> <p><strong>iterator_facade Core Operations</strong></p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="21%" /> <col width="21%" />
<col width="23%" /> <col width="23%" />

View File

@ -3,12 +3,12 @@
<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.4: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: 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="2004-01-12" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -26,9 +26,9 @@
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>2004-01-12</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-adaptor"> <div class="document" id="iterator-adaptor">
@ -42,8 +42,7 @@ Railway Operation and Construction</a></td></tr>
</table> </table>
<!-- Version 1.1 of this ReStructuredText document corresponds to <!-- Version 1.1 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG. --> n1530_, the paper accepted by the LWG. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>Each specialization of the <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template is derived from <p>Each specialization of the <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template is derived from
a specialization of <tt class="literal"><span class="pre">iterator_facade</span></tt>. The core interface functions a specialization of <tt class="literal"><span class="pre">iterator_facade</span></tt>. The core interface functions
expected by <tt class="literal"><span class="pre">iterator_facade</span></tt> are implemented in terms of the expected by <tt class="literal"><span class="pre">iterator_facade</span></tt> are implemented in terms of the
@ -73,8 +72,7 @@ core interface functions of <tt class="literal"><span class="pre">iterator_facad
<h1><a class="toc-backref" href="#id6" name="overview">Overview</a></h1> <h1><a class="toc-backref" href="#id6" name="overview">Overview</a></h1>
<!-- Version 1.2 of this ReStructuredText document corresponds to <!-- Version 1.2 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>The <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id1" name="id1"><sup>1</sup></a> <p>The <tt class="literal"><span class="pre">iterator_adaptor</span></tt> class template adapts some <tt class="literal"><span class="pre">Base</span></tt> <a class="footnote-reference" href="#base" id="id1" name="id1"><sup>1</sup></a>
type to create a new iterator. Instantiations of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> type to create a new iterator. Instantiations of <tt class="literal"><span class="pre">iterator_adaptor</span></tt>
are derived from a corresponding instantiation of <tt class="literal"><span class="pre">iterator_facade</span></tt> are derived from a corresponding instantiation of <tt class="literal"><span class="pre">iterator_facade</span></tt>
@ -115,8 +113,7 @@ that assumption.</p>
<h1><a class="toc-backref" href="#id7" name="reference">Reference</a></h1> <h1><a class="toc-backref" href="#id7" name="reference">Reference</a></h1>
<!-- Version 1.4 of this ReStructuredText document corresponds to <!-- Version 1.4 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved. -->
<pre class="literal-block"> <pre class="literal-block">
template &lt; template &lt;
class Derived class Derived

Binary file not shown.

View File

@ -3,33 +3,34 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<!-- Version 1.4 of this ReStructuredText document corresponds to <!-- Version 1.4 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved. -->
<pre class="literal-block"> <pre class="literal-block">
template &lt; template &lt;
class Derived class Derived
, class Base , class Base
, class Value = use_default , class Value = use_default
, class CategoryOrTraversal = use_default , class CategoryOrTraversal = use_default
, class Reference = use_default , class Reference = use_default
, class Difference = use_default , class Difference = use_default
&gt; &gt;
class iterator_adaptor class iterator_adaptor
: public iterator_facade&lt;Derived, <em>V</em>, <em>C</em>, <em>R</em>, <em>D</em>&gt; // see <a class="reference" href="#base-parameters">details</a> : public iterator_facade&lt;Derived, <em>V'</em>, <em>C'</em>, <em>R'</em>, <em>D'</em>&gt; // see <a class="reference" href="#base-parameters">details</a>
{ {
friend class iterator_core_access; friend class iterator_core_access;
public: public:
iterator_adaptor(); iterator_adaptor();
explicit iterator_adaptor(Base iter); explicit iterator_adaptor(Base iter);
Base base() const; Base const&amp; base() const;
protected: protected:
typedef iterator_adaptor iterator_adaptor_;
Base const&amp; base_reference() const; Base const&amp; base_reference() const;
Base&amp; base_reference(); Base&amp; base_reference();
private: // Core iterator interface for iterator_facade. private: // Core iterator interface for iterator_facade.
@ -54,23 +55,28 @@ class iterator_adaptor
Base m_iterator; // exposition only Base m_iterator; // exposition only
}; };
</pre> </pre>
<a class="target" id="base-parameters" name="base-parameters"></a><div class="section" id="iterator-adaptor-base-class-parameters"> <a class="target" id="requirements" name="requirements"></a><div class="section" id="iterator-adaptor-requirements">
<h1><a name="iterator-adaptor-requirements"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> requirements</a></h1>
<p><tt class="literal"><span class="pre">static_cast&lt;Derived*&gt;(iterator_adaptor*)</span></tt> shall be well-formed.
The <tt class="literal"><span class="pre">Base</span></tt> argument shall be Assignable and Copy Constructible.</p>
<a class="target" id="base-parameters" name="base-parameters"></a></div>
<div class="section" id="iterator-adaptor-base-class-parameters">
<h1><a name="iterator-adaptor-base-class-parameters"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></h1> <h1><a name="iterator-adaptor-base-class-parameters"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> base class parameters</a></h1>
<p>The <em>V</em>, <em>C</em>, <em>R</em>, and <em>D</em> parameters of the <tt class="literal"><span class="pre">iterator_facade</span></tt> <p>The <em>V'</em>, <em>C'</em>, <em>R'</em>, and <em>D'</em> parameters of the <tt class="literal"><span class="pre">iterator_facade</span></tt>
used as a base class in the summary of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> used as a base class in the summary of <tt class="literal"><span class="pre">iterator_adaptor</span></tt>
above are defined as follows:</p> above are defined as follows:</p>
<pre class="literal-block"> <pre class="literal-block">
<em>V</em> = if (Value is use_default) <em>V'</em> = if (Value is use_default)
return iterator_traits&lt;Base&gt;::value_type return iterator_traits&lt;Base&gt;::value_type
else else
return Value return Value
<em>C</em> = if (CategoryOrTraversal is use_default) <em>C'</em> = if (CategoryOrTraversal is use_default)
return iterator_traversal&lt;Base&gt;::type return iterator_traversal&lt;Base&gt;::type
else else
return CategoryOrTraversal return CategoryOrTraversal
<em>R</em> = if (Reference is use_default) <em>R'</em> = if (Reference is use_default)
if (Value is use_default) if (Value is use_default)
return iterator_traits&lt;Base&gt;::reference return iterator_traits&lt;Base&gt;::reference
else else
@ -78,23 +84,22 @@ above are defined as follows:</p>
else else
return Reference return Reference
<em>D</em> = if (Difference is use_default) <em>D'</em> = if (Difference is use_default)
return iterator_traits&lt;Base&gt;::difference_type return iterator_traits&lt;Base&gt;::difference_type
else else
return Difference return Difference
</pre> </pre>
</div> <!-- ``iterator_adaptor`` models
<div class="section" id="iterator-adaptor-usage"> - - - - - - - - - - - - - - - - - - - - - - - - - - -
<h1><a name="iterator-adaptor-usage"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> usage</a></h1>
<p>The <tt class="literal"><span class="pre">Derived</span></tt> template parameter must be a publicly derived from In order for ``Derived`` to model the iterator concepts corresponding
<tt class="literal"><span class="pre">iterator_adaptor</span></tt>. In order for <tt class="literal"><span class="pre">Derived</span></tt> to model the to ``iterator_traits<Derived>::iterator_category``, the expressions
iterator concepts corresponding to involving ``m_iterator`` in the specifications of those private member
<tt class="literal"><span class="pre">iterator_traits&lt;Derived&gt;::iterator_category</span></tt>, the expressions functions of ``iterator_adaptor`` that may be called by
involving <tt class="literal"><span class="pre">m_iterator</span></tt> in the specifications of those private ``iterator_facade<Derived, V, C, R, D>`` in evaluating any valid
member functions of <tt class="literal"><span class="pre">iterator_adaptor</span></tt> that may be called by expression involving ``Derived`` in those concepts' requirements. -->
<tt class="literal"><span class="pre">iterator_facade&lt;Derived,</span> <span class="pre">V,</span> <span class="pre">C,</span> <span class="pre">R,</span> <span class="pre">D&gt;</span></tt> <!-- The above is confusing and needs a rewrite. -JGS -->
in evaluating any valid expression involving <tt class="literal"><span class="pre">Derived</span></tt> <!-- That's why it's removed. We're embracing inheritance, remember? -->
in those concepts' requirements.</p>
</div> </div>
<div class="section" id="iterator-adaptor-public-operations"> <div class="section" id="iterator-adaptor-public-operations">
<h1><a name="iterator-adaptor-public-operations"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></h1> <h1><a name="iterator-adaptor-public-operations"><tt class="literal"><span class="pre">iterator_adaptor</span></tt> public operations</a></h1>
@ -120,7 +125,7 @@ in those concepts' requirements.</p>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p><tt class="literal"><span class="pre">Base</span> <span class="pre">base()</span> <span class="pre">const;</span></tt></p> <p><tt class="literal"><span class="pre">Base</span> <span class="pre">const&amp;</span> <span class="pre">base()</span> <span class="pre">const;</span></tt></p>
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -220,10 +225,9 @@ typename iterator_adaptor::difference_type distance_to(
</table> </table>
</div> </div>
</div> </div>
<hr class="footer"/> <hr class="footer" />
<div class="footer"> <div class="footer">
<a class="reference" href="iterator_adaptor_ref.rst">View document source</a>. <a class="reference" href="iterator_adaptor_ref.rst">View document source</a>.
Generated on: 2004-01-12 15:25 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,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Iterator Archetype</title> <title>Iterator Archetype</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, Zephyr Associates, Inc." /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
<meta name="date" content="2004-01-27" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="iterator-archetype">
<h1 class="title">Iterator Archetype</h1> <h1 class="title">Iterator Archetype</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -26,11 +25,12 @@
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr> Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-27</td></tr> <td>2004-11-01</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 2004. All rights reserved</td></tr> <td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-archetype">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -44,7 +44,7 @@ For further information see the documentation for the <a class="reference" href=
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#reference" id="id1" name="id1">Reference</a><ul> <li><a class="reference" href="#reference" id="id1" name="id1">Reference</a><ul>
<li><a class="reference" href="#iterator-archetype-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></li> <li><a class="reference" href="#iterator-archetype-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">iterator_archetype</span></tt> Synopsis</a></li>

Binary file not shown.

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Iterator Concepts</title> <title>Iterator Concepts</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, Zephyr Associates, Inc." /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
<meta name="date" content="2004-01-27" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="iterator-concepts">
<h1 class="title">Iterator Concepts</h1> <h1 class="title">Iterator Concepts</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -26,11 +25,12 @@
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr> Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-27</td></tr> <td>2004-11-01</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 2004. All rights reserved</td></tr> <td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2004.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-concepts">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />

Binary file not shown.

View File

@ -3,12 +3,12 @@
<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.4: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: 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" />
<meta name="date" content="2004-01-12" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -26,9 +26,9 @@
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>2004-01-12</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-facade"> <div class="document" id="iterator-facade">
@ -84,8 +84,7 @@ and associated types, to be supplied by a derived iterator class.</td>
<h1><a class="toc-backref" href="#id23" name="overview">Overview</a></h1> <h1><a class="toc-backref" href="#id23" name="overview">Overview</a></h1>
<!-- Version 1.1 of this ReStructuredText document corresponds to <!-- Version 1.1 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<p>While the iterator interface is rich, there is a core subset of the <p>While the iterator interface is rich, there is a core subset of the
interface that is necessary for all the functionality. We have interface that is necessary for all the functionality. We have
identified the following core behaviors for iterators:</p> identified the following core behaviors for iterators:</p>
@ -272,8 +271,7 @@ Patterns, C++ Report, February 1995, pp. 24-27.</td></tr>
<h1><a class="toc-backref" href="#id28" name="reference">Reference</a></h1> <h1><a class="toc-backref" href="#id28" name="reference">Reference</a></h1>
<!-- Version 1.3 of this ReStructuredText document corresponds to <!-- Version 1.3 of this ReStructuredText document corresponds to
n1530_, the paper accepted by the LWG for TR1. --> n1530_, the paper accepted by the LWG for TR1. -->
<!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. All <!-- Copyright David Abrahams, Jeremy Siek, and Thomas Witt 2003. -->
rights reserved -->
<pre class="literal-block"> <pre class="literal-block">
template &lt; template &lt;
class Derived class Derived

Binary file not shown.

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Iterator Traits</title> <title>Iterator Traits</title>
<meta name="author" content="David Abrahams" /> <meta name="author" content="David Abrahams" />
<meta name="organization" content="Boost Consulting" /> <meta name="organization" content="Boost Consulting" />
<meta name="date" content="2004-01-13" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright David Abrahams 2004. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams 2004." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="iterator-traits">
<h1 class="title">Iterator Traits</h1> <h1 class="title">Iterator Traits</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -25,11 +24,12 @@
<tr><th class="docinfo-name">Organization:</th> <tr><th class="docinfo-name">Organization:</th>
<td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr> <td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-13</td></tr> <td>2004-11-01</td></tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams 2004. All rights reserved</td></tr> <td>Copyright David Abrahams 2004.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="iterator-traits">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />

Binary file not shown.

View File

@ -3,7 +3,8 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -17,10 +18,7 @@ make_filter_iterator(Predicate f, Iterator x, Iterator end = Iterator());
<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">An instance of <tt class="literal"><span class="pre">filter_iterator&lt;Predicate,Iterator&gt;</span></tt> <tr class="field"><th class="field-name">Returns:</th><td class="field-body">filter_iterator&lt;Predicate,Iterator&gt;(f, x, end)</td>
where <tt class="literal"><span class="pre">m_iter</span></tt> is either 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-&gt;base())</span> <span class="pre">==</span> <span class="pre">true</span></tt> or else <tt class="literal"><span class="pre">m_iter</span> <span class="pre">==</span> <span class="pre">end</span></tt>.
The member <tt class="literal"><span class="pre">m_pred</span></tt> is constructed from <tt class="literal"><span class="pre">f</span></tt> and <tt class="literal"><span class="pre">m_end</span></tt> from <tt class="literal"><span class="pre">end</span></tt>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -33,20 +31,14 @@ make_filter_iterator(Iterator x, Iterator end = Iterator());
<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">An instance of <tt class="literal"><span class="pre">filter_iterator&lt;Predicate,Iterator&gt;</span></tt> <tr class="field"><th class="field-name">Returns:</th><td class="field-body">filter_iterator&lt;Predicate,Iterator&gt;(x, end)</td>
where <tt class="literal"><span class="pre">m_iter</span></tt> is either 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-&gt;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 <tt class="literal"><span class="pre">m_iter</span> <span class="pre">==</span> <span class="pre">end</span></tt>.
The member <tt class="literal"><span class="pre">m_pred</span></tt> is default constructed and <tt class="literal"><span class="pre">m_end</span></tt>
is constructed from <tt class="literal"><span class="pre">end</span></tt>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<hr class="footer"/> <hr class="footer" />
<div class="footer"> <div class="footer">
<a class="reference" href="make_filter_iterator.rst">View document source</a>. <a class="reference" href="make_filter_iterator.rst">View document source</a>.
Generated on: 2004-01-13 02:57 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,12 +3,12 @@
<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.4: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>New Iterator Concepts</title> <title>New Iterator Concepts</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, Zephyr Associates, Inc." /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab, Zephyr Associates, Inc." />
<meta name="date" content="2004-07-14" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -25,7 +25,7 @@
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="reference" href="http://www.osl.iu.edu">Open Systems
Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr> Lab</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-07-14</td></tr> <td>2004-11-01</td></tr>
<tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1550.html">n1550</a>=03-0133, which was <tr class="field"><th class="docinfo-name">Number:</th><td class="field-body">This is a revised version of <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1550.html">n1550</a>=03-0133, which was
accepted for Technical Report 1 by the C++ standard accepted for Technical Report 1 by the C++ standard
committee's library working group. This proposal is a committee's library working group. This proposal is a
@ -33,7 +33,7 @@ revision of paper <a class="reference" href="http://anubis.dkuug.dk/jtc1/sc22/wg
</tr> </tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt <td>Copyright David Abrahams, Jeremy Siek, and Thomas Witt
2003. All rights reserved</td></tr> 2003.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="new-iterator-concepts"> <div class="document" id="new-iterator-concepts">

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@
<title>Permutation Iterator</title> <title>Permutation Iterator</title>
<meta name="author" content="Toon Knapen, David Abrahams, Roland Richter, Jeremy Siek" /> <meta name="author" content="Toon Knapen, David Abrahams, Roland Richter, Jeremy Siek" />
<meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab" /> <meta name="organization" content="Boost Consulting, Indiana University Open Systems Lab" />
<meta name="date" content="2004-01-13" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003. All rights reserved" /> <meta name="copyright" content="Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -25,9 +25,9 @@
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="last reference" href="http://www.osl.iu.edu">Open Systems <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <a class="last reference" href="http://www.osl.iu.edu">Open Systems
Lab</a></td></tr> Lab</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-13</td></tr> <td>2004-11-01</td></tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003. All rights reserved</td></tr> <td>Copyright Toon Knapen, David Abrahams, Roland Richter, and Jeremy Siek 2003.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="permutation-iterator"> <div class="document" id="permutation-iterator">

Binary file not shown.

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>pointee and indirect_reference</title> <title>pointee and indirect_reference</title>
<meta name="author" content="David Abrahams" /> <meta name="author" content="David Abrahams" />
<meta name="organization" content="Boost Consulting" /> <meta name="organization" content="Boost Consulting" />
<meta name="date" content="2004-01-29" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright David Abrahams 2004. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams 2004." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="pointee-and-indirect-reference">
<h1 class="title"><tt class="literal"><span class="pre">pointee</span></tt> and <tt class="literal"><span class="pre">indirect_reference</span></tt></h1> <h1 class="title"><tt class="literal"><span class="pre">pointee</span></tt> and <tt class="literal"><span class="pre">indirect_reference</span></tt></h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -25,11 +24,12 @@
<tr><th class="docinfo-name">Organization:</th> <tr><th class="docinfo-name">Organization:</th>
<td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr> <td><a class="first last reference" href="http://www.boost-consulting.com">Boost Consulting</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-29</td></tr> <td>2004-11-01</td></tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams 2004. All rights reserved</td></tr> <td>Copyright David Abrahams 2004.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="pointee-and-indirect-reference">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />

Binary file not shown.

View File

@ -3,13 +3,13 @@
<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.2.8: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>Problem with reference and old/new iterator category correspondance</title> <title>Problem with reference and old/new iterator category correspondance</title>
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="problem-with-reference-and-old-new-iterator-category-correspondance">
<h1 class="title">Problem with <tt class="literal"><span class="pre">reference</span></tt> and old/new iterator category correspondance</h1> <h1 class="title">Problem with <tt class="literal"><span class="pre">reference</span></tt> and old/new iterator category correspondance</h1>
<div class="document" id="problem-with-reference-and-old-new-iterator-category-correspondance">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -66,5 +66,10 @@ new iterator concepts. We are not in favor of this approach because it
extends what we see as a defect further into the future.</p> extends what we see as a defect further into the future.</p>
</div> </div>
</div> </div>
<hr class="footer" />
<div class="footer">
<a class="reference" href="ref_problem.rst">View document source</a>.
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> </body>
</html> </html>

View File

@ -3,16 +3,15 @@
<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.3.6: http://docutils.sourceforge.net/" />
<title>Reverse Iterator</title> <title>Reverse 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="2004-01-13" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="reverse-iterator">
<h1 class="title">Reverse Iterator</h1> <h1 class="title">Reverse Iterator</h1>
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
@ -27,11 +26,12 @@
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>2004-01-13</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="reverse-iterator">
<table class="field-list" frame="void" rules="none"> <table class="field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
@ -42,7 +42,7 @@ range in the opposite direction.</td>
</tbody> </tbody>
</table> </table>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title"><a name="table-of-contents">Table of Contents</a></p> <p class="topic-title first"><a name="table-of-contents">Table of Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#reverse-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></li> <li><a class="reference" href="#reverse-iterator-synopsis" id="id2" name="id2"><tt class="literal"><span class="pre">reverse_iterator</span></tt> synopsis</a></li>
<li><a class="reference" href="#reverse-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">reverse_iterator</span></tt> requirements</a></li> <li><a class="reference" href="#reverse-iterator-requirements" id="id3" name="id3"><tt class="literal"><span class="pre">reverse_iterator</span></tt> requirements</a></li>
@ -100,7 +100,7 @@ type <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::refe
traversal and iterator access concepts modeled by its <tt class="literal"><span class="pre">Iterator</span></tt> traversal and iterator access concepts modeled by its <tt class="literal"><span class="pre">Iterator</span></tt>
argument. In addition, it may model old iterator concepts argument. In addition, it may model old iterator concepts
specified in the following table:</p> specified in the following table:</p>
<table border class="table"> <table border="1" class="table">
<colgroup> <colgroup>
<col width="53%" /> <col width="53%" />
<col width="47%" /> <col width="47%" />

Binary file not shown.

View File

@ -3,12 +3,12 @@
<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.4: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
<title>Transform Iterator</title> <title>Transform 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="2004-01-13" /> <meta name="date" content="2004-11-01" />
<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." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -26,9 +26,9 @@
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>2004-01-13</td></tr> <td>2004-11-01</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.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="transform-iterator"> <div class="document" id="transform-iterator">

Binary file not shown.

View File

@ -7,8 +7,8 @@
<title>Zip Iterator</title> <title>Zip Iterator</title>
<meta name="author" content="David Abrahams, Thomas Becker" /> <meta name="author" content="David Abrahams, Thomas Becker" />
<meta name="organization" content="Boost Consulting, Zephyr Associates, Inc." /> <meta name="organization" content="Boost Consulting, Zephyr Associates, Inc." />
<meta name="date" content="2004-01-27" /> <meta name="date" content="2004-11-01" />
<meta name="copyright" content="Copyright David Abrahams and Thomas Becker 2003. All rights reserved" /> <meta name="copyright" content="Copyright David Abrahams and Thomas Becker 2003." />
<link rel="stylesheet" href="default.css" type="text/css" /> <link rel="stylesheet" href="default.css" type="text/css" />
</head> </head>
<body> <body>
@ -24,9 +24,9 @@
<tr><th class="docinfo-name">Organization:</th> <tr><th class="docinfo-name">Organization:</th>
<td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr> <td><a class="first reference" href="http://www.boost-consulting.com">Boost Consulting</a>, <a class="last reference" href="http://www.styleadvisor.com">Zephyr Associates, Inc.</a></td></tr>
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>2004-01-27</td></tr> <td>2004-11-01</td></tr>
<tr><th class="docinfo-name">Copyright:</th> <tr><th class="docinfo-name">Copyright:</th>
<td>Copyright David Abrahams and Thomas Becker 2003. All rights reserved</td></tr> <td>Copyright David Abrahams and Thomas Becker 2003.</td></tr>
</tbody> </tbody>
</table> </table>
<div class="document" id="zip-iterator"> <div class="document" id="zip-iterator">

Binary file not shown.