Fixed license & copyright issues and converted to HTML 4.01

[SVN r36280]
This commit is contained in:
Andreas Huber 2006-12-05 21:11:21 +00:00 committed by Peter Dimov
parent bb27f3ee25
commit 7bb83d4646

View File

@ -1,28 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title>Generator Iterator Adaptor Documentation</title> <title>Generator Iterator Adaptor Documentation</title>
</head> </head>
<body bgcolor="#FFFFFF" text="#000000"> <body bgcolor="#FFFFFF" text="#000000">
<img src="../../boost.png" alt="boost.png (6897 bytes)" align="middle"
<img src="../../boost.png" alt="boost.png (6897 bytes)" align="center" width="277" height="86"> width="277" height="86">
<h1>Generator Iterator Adaptor</h1> <h1>Generator Iterator Adaptor</h1>
Defined in header <a href="../../boost/generator_iterator.hpp">boost/generator_iterator.hpp</a>
<p> <p>Defined in header <a href=
The generator iterator adaptor makes it easier to create custom input "../../boost/generator_iterator.hpp">boost/generator_iterator.hpp</a></p>
iterators from 0-ary functions and function objects. The adaptor
takes a <p>The generator iterator adaptor makes it easier to create custom input
<a href="http://www.sgi.com/tech/stl/Generator.html">Generator</a> iterators from 0-ary functions and function objects. The adaptor takes a
and creates a model of <a href="http://www.sgi.com/tech/stl/Generator.html">Generator</a> and
<a href="http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>. creates a model of <a href=
Each increment retrieves an item from the generator and makes it "http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>. Each
available to be retrieved by dereferencing. The motivation for this increment retrieves an item from the generator and makes it available to be
iterator is that some concepts can be more naturally expressed as a retrieved by dereferencing. The motivation for this iterator is that some
generator, while most STL algorithms expect an iterator. An example concepts can be more naturally expressed as a generator, while most STL
is the <a href="../random/index.html">Random Number</a> library. algorithms expect an iterator. An example is the <a href=
"../random/index.html">Random Number</a> library.</p>
<h2>Synopsis</h2> <h2>Synopsis</h2>
@ -41,20 +45,18 @@ namespace boost {
} }
</pre> </pre>
</blockquote> </blockquote>
<hr> <hr>
<h2>The Generator Iterator Generator Class</h2> <h2>The Generator Iterator Generator Class</h2>
The class generator_iterator_generator is a helper class whose purpose <p>The class generator_iterator_generator is a helper class whose purpose
is to construct a generator iterator type. The template parameter for is to construct a generator iterator type. The template parameter for this
this class is the Generator function object type that is being class is the Generator function object type that is being wrapped. The
wrapped. The generator iterator adaptor only holds a reference (or generator iterator adaptor only holds a reference (or pointer) to the
pointer) to the function object, therefore the function object must function object, therefore the function object must outlive the generator
outlive the generator iterator adaptor constructed from it. iterator adaptor constructed from it.</p>
<pre> <pre>
template &lt;class Generator> template &lt;class Generator&gt;
class generator_iterator_generator class generator_iterator_generator
{ {
public: public:
@ -62,44 +64,46 @@ public:
} }
</pre> </pre>
<h3>Template Parameters</h3> <h3>Template Parameters</h3>
<table border> <table border summary="">
<tr> <tr>
<th>Parameter</th> <th>Parameter</th>
<th>Description</th> <th>Description</th>
</tr> </tr>
<tr> <tr>
<td><tt><a href="http://www.sgi.com/tech/stl/Generator.html">Generator</a></tt> <td><tt><a href=
<td>The generator (0-ary function object) type being "http://www.sgi.com/tech/stl/Generator.html">Generator</a></tt></td>
wrapped. The return type of the function must be defined as
<tt>Generator::result_type</tt>. The function object must be a model <td>The generator (0-ary function object) type being wrapped. The
of return type of the function must be defined as
<a href="http://www.sgi.com/tech/stl/Generator.html">Generator</a>. <tt>Generator::result_type</tt>. The function object must be a model of
</td> <a href=
"http://www.sgi.com/tech/stl/Generator.html">Generator</a>.</td>
</tr>
</table> </table>
<h3>Concept Model</h3> <h3>Concept Model</h3>
The generator iterator class is a model of
<a href="http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>. <p>The generator iterator class is a model of <a href=
"http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>.</p>
<h3>Members</h3> <h3>Members</h3>
The generator iterator implements the member functions
and operators required of the
<a href="http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>
concept.
<br>
<p>The generator iterator implements the member functions and operators
required of the <a href=
"http://www.sgi.com/tech/stl/InputIterator.html">Input Iterator</a>
concept.<br></p>
<hr> <hr>
<h2><a name="make_generator_iterator">The Generator Iterator Object Generator</a></h2>
The <tt>make_generator_iterator()</tt> function provides a <h2><a name="make_generator_iterator" id="make_generator_iterator">The
convenient way to create generator iterator objects. The function Generator Iterator Object Generator</a></h2>
saves the user the trouble of explicitly writing out the iterator
types. <p>The <tt>make_generator_iterator()</tt> function provides a convenient
way to create generator iterator objects. The function saves the user the
trouble of explicitly writing out the iterator types.</p>
<blockquote> <blockquote>
<pre> <pre>
@ -108,19 +112,17 @@ typename generator_iterator_generator&lt;Generator&gt;::type
make_generator_iterator(Generator &amp; gen); make_generator_iterator(Generator &amp; gen);
</pre> </pre>
</blockquote> </blockquote>
<hr> <hr>
<h3>Example</h3> <h3>Example</h3>
The following program shows how <code>generator_iterator</code> <p>The following program shows how <code>generator_iterator</code>
transforms a generator into an input iterator. transforms a generator into an input iterator.</p>
<blockquote> <blockquote>
<pre> <pre>
#include &lt;iostream> #include &lt;iostream&gt;
#include &lt;boost/generator_iterator.hpp> #include &lt;boost/generator_iterator.hpp&gt;
class my_generator class my_generator
{ {
@ -141,10 +143,21 @@ int main()
} }
</pre> </pre>
</blockquote> </blockquote>
<hr> <hr>
Written by Jens Maurer. <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
"http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
height="31" width="88"></a></p>
<p>Revised
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->05 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38516" --></p>
<p><i>Copyright &copy; 2001 <a href=
"../../people/jens_maurer.htm">Jens Maurer</a></i></p>
<p><i>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
</body> </body>
</html> </html>