blob: 4cb35c4cf3bb1cf25269f9dbdda0575bd1a92324 [file] [log] [blame]
<HTML>
<HEAD>
<TITLE>&lt;iterator&gt;</TITLE>
<LINK REL=StyleSheet HREF="../rw.css" TYPE="text/css" TITLE="Apache stdcxx Stylesheet"></HEAD>
<BODY BGCOLOR=#FFFFFF>
<A HREF="iter-swap.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="iterator.html"><IMG SRC="images/bnext.gif" WIDTH=25 HEIGHT=21 ALT="Next file" BORDER=O></A><DIV CLASS="DOCUMENTNAME"><B>Apache C++ Standard Library Reference Guide</B></DIV>
<H2>&lt;iterator&gt;</H2>
<P><B>Library:</B>&nbsp;&nbsp;<A HREF="2-8.html">Iterators</A></P>
<PRE><HR><B><I>Header</I></B><HR></PRE>
<UL>
<LI><A HREF="#sec1">Local Index</A></LI>
<LI><A HREF="#sec2">Summary</A></LI>
<LI><A HREF="#sec3">Synopsis</A></LI>
<LI><A HREF="#sec4">See Also</A></LI>
<LI><A HREF="#sec5">Standards Conformance</A></LI>
</UL>
<A NAME="sec1"><H3>Local Index</H3></A>
No Entries
<A NAME="sec2"><H3>Summary</H3></A>
<P>The header <SAMP>&lt;iterator&gt;</SAMP> represents the Iterators library of the Standard C++ Library. It defines: </P>
<UL>
<LI><P CLASS="LIST">the class template <B><I><A HREF="iterator-traits.html">iterator_traits</A></I></B> and two partial specializations of <B><I>iterator_traits</I></B> on pointers and const pointers</P></LI>
<LI><P CLASS="LIST">the classes input_iterator_tag, output_iterator_tag, forward_iterator_tag, bidirectional_iterator_tag and random_access_iterator_tag </P></LI>
<LI><P CLASS="LIST">the class templates <B><I><A HREF="reverse-iterator.html">reverse_iterator</A></I></B>, <B><I><A HREF="back-insert-iterator.html">back_insert_iterator</A></I></B>, <B><I><A HREF="front-insert-iterator.html">front_insert_iterator</A></I></B>, <B><I><A HREF="insert-iterator.html">insert_iterator</A></I></B>, <B><I><A HREF="istream-iterator.html">istream_iterator</A></I></B>, <B><I>ostream_isterator</I></B>, <B><I><A HREF="istreambuf-iterator.html">istreambuf_iterator</A></I></B>, and <B><I><A HREF="ostreambuf-iterator.html">ostreambuf_iterator</A></I></B></P></LI>
<LI><P CLASS="LIST">the helper function templates <SAMP><A HREF="advance.html">advance()</A></SAMP>, <SAMP><A HREF="distance.html">distance()</A></SAMP>, <SAMP><A HREF="back-insert-iterator.html">back_inserter()</A></SAMP>, <SAMP><A HREF="front-insert-iterator.html">front_inserter()</A></SAMP>, <SAMP><A HREF="insert-iterator.html">inserter()</A></SAMP></P></LI>
<LI><P CLASS="LIST">a set of relational operators that C++ programs may use to perform equality and inequality tests on specializations of <B><I><A HREF="reverse-iterator.html">reverse_iterator</A></I></B></P></LI>
<LI><P CLASS="LIST">the equality and inequality operators specialized for <B><I><A HREF="istream-iterator.html">istream_iterator</A></I></B> and <B><I><A HREF="istreambuf-iterator.html">istreambuf_iterator</A></I></B></P></LI>
</UL>
<A NAME="sec3"><H3>Synopsis</H3></A>
<PRE>namespace std {
template&lt;class Iterator&gt; struct <SAMP><A HREF="iterator-traits.html">iterator_traits</A></SAMP>;
template&lt;class T&gt; struct iterator_traits&lt;T*&gt;;
template&lt;class T&gt; struct iterator_traits&lt;const T*&gt;;
template&lt;class Category, class T,
class Distance = ptrdiff_t,
class Pointer = T*, class Reference = T&amp;&gt;
struct <SAMP><A HREF="iterator.html">iterator</A></SAMP>;
struct <SAMP>input_iterator_tag</SAMP> {};
struct <SAMP>output_iterator_tag</SAMP> {};
struct <SAMP>forward_iterator_tag</SAMP>: input_iterator_tag {};
struct <SAMP>bidirectional_iterator_tag</SAMP> : forward_iterator_tag {};
struct <SAMP>random_access_iterator_tag</SAMP> :
bidirectional_iterator_tag {};
template &lt;class InputIterator, class Distance&gt;
void <SAMP><A HREF="advance.html">advance</A></SAMP>(InputIterator&amp; i, Distance n);
template &lt;class InputIterator&gt;
typename iterator_traits&lt;InputIterator&gt;::difference_type
<SAMP><A HREF="distance.html">distance</A></SAMP>(InputIterator start, InputIterator finish);
template &lt;class Iterator&gt;
class <SAMP><A HREF="reverse-iterator.html">reverse_iterator</A></SAMP>;
template &lt;class Iterator&gt;
bool operator==(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
bool operator&lt;(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
bool operator!=(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
bool operator&gt;(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
bool operator&gt;=(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
bool operator&lt;=(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
typename reverse_iterator&lt;Iterator&gt;::difference_type
operator-(const reverse_iterator&lt;Iterator&gt;&amp;,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Iterator&gt;
reverse_iterator&lt;Iterator&gt;
operator+(typename
reverse_iterator&lt;Iterator&gt;::difference_type,
const reverse_iterator&lt;Iterator&gt;&amp;);
template &lt;class Container&gt; class <SAMP><A HREF="back-insert-iterator.html">back_insert_iterator</A></SAMP>;
template &lt;class Container&gt;
back_insert_iterator&lt;Container&gt; <SAMP><A HREF="back-insert-iterator.html">back_inserter</A></SAMP>(Container&amp;);
template &lt;class Container&gt; class <SAMP><A HREF="front-insert-iterator.html">front_insert_iterator</A></SAMP>;
template &lt;class Container&gt;
front_insert_iterator&lt;Container&gt; <SAMP><A HREF="front-insert-iterator.html">front_inserter</A></SAMP>(Container&amp;);
template &lt;class Container&gt; class <SAMP><A HREF="insert-iterator.html">insert_iterator</A></SAMP>;
template &lt;class Container, class Iterator&gt;
insert_iterator&lt;Container&gt; <SAMP><A HREF="insert-iterator.html">inserter</A></SAMP>(Container&amp;, Iterator);
template &lt;class T, class charT = char,
class traits = char_traits&lt;charT&gt;,
class Distance = ptrdiff_t&gt;
class <SAMP><A HREF="istream-iterator.html">istream_iterator</A></SAMP>;
template &lt;class T, class charT, class traits,
class Distance&gt;
bool operator==(const istream_iterator&lt;T, charT, traits,
Distance&gt;&amp;, const istream_iterator&lt;T, charT,
traits, Distance&gt;&amp;);
template &lt;class T, class charT, class traits,
class Distance&gt;
bool operator!=(const istream_iterator&lt;T, charT, traits,
Distance&gt;&amp;, const istream_iterator&lt;T,
charT, traits, Distance&gt;&amp;);
template &lt;class T, class charT = char,
class traits = char_traits&lt;charT&gt; &gt;
class <SAMP><A HREF="ostream-iterator.html">ostream_iterator</A></SAMP>;
template&lt;class charT, class traits = char_traits&lt;charT&gt; &gt;
class istreambuf_iterator;
template &lt;class charT, class traits&gt;
bool operator==(const istreambuf_iterator&lt;charT, traits&gt;&amp;,
const istreambuf_iterator&lt;charT, traits&gt;&amp;);
template &lt;class charT, class traits&gt;
bool operator!=(const istreambuf_iterator&lt;charT, traits&gt;&amp;,
const istreambuf_iterator&lt;charT, traits&gt;&amp;);
template &lt;class charT, class traits = char_traits&lt;charT&gt; &gt;
class <SAMP><A HREF="ostreambuf-iterator.html">ostreambuf_iterator</A></SAMP>;
}
</PRE>
<A NAME="sec4"><H3>See Also</H3></A>
<P><B><I><A HREF="iterator-traits.html">iterator_traits</A></I></B>, <B><I><A HREF="iterator.html">iterator</A></I></B>, <SAMP><A HREF="advance.html">advance()</A></SAMP>, <SAMP><A HREF="distance.html">distance()</A></SAMP>, <B><I><A HREF="reverse-iterator.html">reverse_iterator</A></I></B>, <B><I><A HREF="back-insert-iterator.html">back_insert_iterator</A></I></B>, <SAMP><A HREF="back-insert-iterator.html">back_inserter()</A></SAMP>, <B><I><A HREF="front-insert-iterator.html">front_insert_iterator</A></I></B>, <SAMP><A HREF="front-insert-iterator.html">front_inserter()</A></SAMP>, <B><I><A HREF="insert-iterator.html">insert_iterator</A></I></B>, <SAMP><A HREF="insert-iterator.html">inserter()</A></SAMP>, <B><I><A HREF="istream-iterator.html">istream_iterator</A></I></B>, <B><I><A HREF="ostream-iterator.html">ostream_iterator</A></I></B>, <B><I><A HREF="istreambuf-iterator.html">istreambuf_iterator</A></I></B>, <B><I><A HREF="ostreambuf-iterator.html">ostreambuf_iterator</A></I></B>, <A HREF="bidirectionaliterators.html">Bidirectional Iterators</A>, <A HREF="inputiterators.html">Input Iterators</A>, <A HREF="insertiterators.html">Insert Iterators</A>, Iterators, <A HREF="outputiterators.html">Output Iterators</A>, <A HREF="randomaccessiterators.html">Random Access Iterators</A>, <A HREF="streamiterators.html">Stream Iterators</A></P>
<A NAME="sec5"><H3>Standards Conformance</H3></A>
<P><I>ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 24</I></P>
<BR>
<HR>
<A HREF="iter-swap.html"><IMG SRC="images/bprev.gif" WIDTH=20 HEIGHT=21 ALT="Previous file" BORDER=O></A><A HREF="noframes.html"><IMG SRC="images/btop.gif" WIDTH=56 HEIGHT=21 ALT="Top of Document" BORDER=O></A><A HREF="booktoc.html"><IMG SRC="images/btoc.gif" WIDTH=56 HEIGHT=21 ALT="Contents" BORDER=O></A><A HREF="tindex.html"><IMG SRC="images/bindex.gif" WIDTH=56 HEIGHT=21 ALT="Index page" BORDER=O></A><A HREF="iterator.html"><IMG SRC="images/bnext.gif" WIDTH=20 HEIGHT=21 ALT="Next file" BORDER=O></A>
<!-- Google Analytics tracking code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1775151-1";
urchinTracker();
</script>
<!-- end of Google Analytics tracking code -->
</BODY>
</HTML>