aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/html/25_algorithms/howto.html
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/docs/html/25_algorithms/howto.html')
-rw-r--r--libstdc++-v3/docs/html/25_algorithms/howto.html96
1 files changed, 96 insertions, 0 deletions
diff --git a/libstdc++-v3/docs/html/25_algorithms/howto.html b/libstdc++-v3/docs/html/25_algorithms/howto.html
new file mode 100644
index 00000000000..c161b1871a3
--- /dev/null
+++ b/libstdc++-v3/docs/html/25_algorithms/howto.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
+ <META NAME="KEYWORDS" CONTENT="HOWTO, libstdc++, GCC, g++, libg++, STL">
+ <META NAME="DESCRIPTION" CONTENT="HOWTO for the libstdc++ chapter 25.">
+ <META NAME="GENERATOR" CONTENT="vi and eight fingers">
+ <TITLE>libstdc++-v3 HOWTO: Chapter 25</TITLE>
+<LINK REL=StyleSheet HREF="../lib3styles.css">
+<!-- $Id: howto.html,v 1.5 2000/12/03 23:47:48 jsm28 Exp $ -->
+</HEAD>
+<BODY>
+
+<H1 CLASS="centered"><A NAME="top">Chapter 25: Algorithms</A></H1>
+
+<P>Chapter 25 deals with the generalized subroutines for automatically
+ transforming lemmings into gold.
+</P>
+
+
+<!-- ####################################################### -->
+<HR>
+<H1>Contents</H1>
+<UL>
+ <LI><A HREF="#1">Prerequisites</A>
+ <LI><A HREF="#2">Topic</A>
+</UL>
+
+<HR>
+
+<!-- ####################################################### -->
+
+<H2><A NAME="1">Prerequisites</A></H2>
+ <P>The neatest accomplishment of the algorithms chapter is that all the
+ work is done via iterators, not containers directly. This means two
+ important things:
+ <OL>
+ <LI>Anything that behaves like an iterator can be used in one of
+ these algorithms. Raw pointers make great candidates, thus
+ built-in arrays are fine containers. So do your own iterators.
+ <LI>The algorithms do not (and cannot) affect the container as a
+ whole; only the things between the two iterator endpoints. If
+ you pass a range of iterators only enclosing the middle third of
+ a container, then anything outside that range is inviolate.
+ </OL>
+ </P>
+ <P>Even strings can be fed through the algorithms here, although the
+ string class has specialized versions of many of these functions (for
+ example, <TT>string::find()</TT>). Most of the examples on this
+ page will use simple arrays of integers as a playground for
+ algorithms, just to keep things simple.
+ <A NAME="Nsize">The use of <B>N</B></A> as a size in the examples is
+ to keep things easy to read but probably won't be legal code. You can
+ use wrappers such as those described in the
+ <A HREF="../23_containers/howto.html">containers chapter</A> to keep
+ real code readable.
+ </P>
+ <P>The single thing that trips people up the most is the definition of
+ <EM>range</EM> used with iterators; the famous
+ &quot;past-the-end&quot; rule that everybody loves to hate. The
+ <A HREF="../24_iterators/howto.html">iterators chapter</A> of this
+ document has a complete explanation of this simple rule that seems to
+ cause so much confusion. Once you get <EM>range</EM> into your head
+ (it's not that hard, honest!), then the algorithms are a cakewalk.
+ </P>
+ <P>
+ </P>
+ <P>Return <A HREF="#top">to top of page</A> or
+ <A HREF="../faq/index.html">to the FAQ</A>.
+ </P>
+
+<HR>
+<H2><A NAME="2">Topic</A></H2>
+ <P>Blah.
+ </P>
+ <P>Return <A HREF="#top">to top of page</A> or
+ <A HREF="../faq/index.html">to the FAQ</A>.
+ </P>
+
+
+
+
+<!-- ####################################################### -->
+
+<HR>
+<P CLASS="fineprint"><EM>
+Comments and suggestions are welcome, and may be sent to
+<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
+<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
+<BR> $Id: howto.html,v 1.5 2000/12/03 23:47:48 jsm28 Exp $
+</EM></P>
+
+
+</BODY>
+</HTML>