diff options
Diffstat (limited to 'libstdc++-v3/docs/html/25_algorithms/howto.html')
-rw-r--r-- | libstdc++-v3/docs/html/25_algorithms/howto.html | 96 |
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 + "past-the-end" 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> |