mirror of
https://github.com/boostorg/iterator.git
synced 2025-05-12 14:01:37 +00:00
Fixed license & copyright issues and converted to HTML 4.01
[SVN r36280]
This commit is contained in:
parent
bb27f3ee25
commit
7bb83d4646
@ -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 <class Generator>
|
template <class Generator>
|
||||||
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<Generator>::type
|
|||||||
make_generator_iterator(Generator & gen);
|
make_generator_iterator(Generator & 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 <iostream>
|
#include <iostream>
|
||||||
#include <boost/generator_iterator.hpp>
|
#include <boost/generator_iterator.hpp>
|
||||||
|
|
||||||
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 © 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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user