blob: 70dee025eef3871e4352d004aac29f257097f4f4 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed
with this work for additional information regarding copyright
ownership. The ASF licenses this file to you under the Apache
License, Version 2.0 (the License); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
Copyright 1999-2007 Rogue Wave Software, Inc.
-->
<HTML>
<HEAD>
<TITLE>Comprehensive TOC Frames</TITLE>
<LINK REL=StyleSheet HREF="../rw.css" TYPE="text/css" TITLE="Apache stdcxx Stylesheet">
<BASE TARGET="text">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<H2>Detailed<BR>Contents</H2>
<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=0 WIDTH=100%>
<TR>
<TD WIDTH="100%" NOWRAP><SMALL>
<B><A HREF="lists.html">Tables/Figures/Examples</A></B>
<BR><BR>
<H3><A HREF="I.html">I: Introduction</A></H3>
<A HREF="1.html">1: Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-1.html">1.1 Welcome</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-2.html">1.2 Product Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-2.html#121">1.2.1 Components</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-2.html#122">1.2.2 STL Not Object-Oriented</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-3.html">1.3 Usage Notes</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-3.html#131">1.3.1 Compatibility Issues</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-3.html#132">1.3.2 The std Namespace</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-4.html">1.4 Documentation Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-4.html#141">1.4.1 Locations of Online Documentation</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-5.html">1.5 About This Manual</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-5.html#151">1.5.1 Assumptions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-5.html#152">1.5.2 Conventions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-5.html#153">1.5.3 Organization</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-5.html#154">1.5.4 Reading Suggestion</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-6.html">1.6 Consulting Services and Training</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="1-7.html">1.7 Technical Support</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-7.html#171">1.7.1 To Obtain Technical Support</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="1-7.html#172">1.7.2 How to Contact Technical Support</A><BR>
<H3><A HREF="II.html">II: Fundamentals</A></H3>
<A HREF="2.html">2: Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="2-1.html">2.1 Introduction to Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="2-2.html">2.2 Varieties of Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#221">2.2.1 Input Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#221-1">2.2.1.1 Kinds of Input Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#222">2.2.2 Output Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#223">2.2.3 Forward Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#224">2.2.4 Bidirectional Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#225">2.2.5 Random Access Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-2.html#226">2.2.6 Reverse Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="2-3.html">2.3 Stream Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-3.html#231">2.3.1 Input Stream Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="2-3.html#232">2.3.2 Output Stream Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="2-4.html">2.4 Insert Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="2-5.html">2.5 Iterator Operations</A><BR>
<A HREF="3.html">3: Functions and Predicates</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="3-1.html">3.1 Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="3-2.html">3.2 Function Objects</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-2.html#321">3.2.1 Definition</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-2.html#322">3.2.2 Use</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-2.html#322-1">3.2.2.1 To Employ Existing C++ Standard Library Function Objects</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-2.html#322-2">3.2.2.2 To Improve Execution</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-2.html#322-3">3.2.2.3 To Access or Set State Information</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="3-3.html">3.3 Predicates</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="3-4.html">3.4 Function Adaptors</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-4.html#341">3.4.1 Definition</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-4.html#342">3.4.2 Adapting Non-member or Static Member Functions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="3-4.html#343">3.4.3 Adapting Member Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="3-5.html">3.5 Negators and Binders</A><BR>
<H3><A HREF="III.html">III: Containers</A></H3>
<A HREF="4.html">4: Container Classes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="4-1.html">4.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="4-2.html">4.2 Selecting a Container</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="4-3.html">4.3 Memory Management Issues</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="4-4.html">4.4 Container Types Not Found in the C++ Standard Library</A><BR>
<A HREF="5.html">5: vector and vector&lt;bool&gt;</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="5-1.html">5.1 The vector Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-1.html#511">5.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="5-2.html">5.2 vector Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#521">5.2.1 Declaration and Initialization of vectors</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#522">5.2.2 Type Definitions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#523">5.2.3 Subscripting a vector</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#524">5.2.4 Extent and Size-Changing Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#525">5.2.5 Inserting and Removing Elements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#526">5.2.6 Iteration</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#527">5.2.7 Test for Inclusion</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#528">5.2.8 Sorting and Sorted vector Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="5-2.html#529">5.2.9 Useful Generic Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="5-3.html">5.3 Boolean Vectors</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="5-4.html">5.4 Example Program: The Sieve of Eratosthenes</A><BR>
<A HREF="6.html">6: list</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="6-1.html">6.1 The list Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-1.html#611">6.1.1 Include files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="6-2.html">6.2 list Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#621">6.2.1 Declaration and Initialization of lists</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#622">6.2.2 Type Definitions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#623">6.2.3 Placing Elements into a list</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#623-1">6.2.3.1 Splicing</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#624">6.2.4 Removing Elements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#625">6.2.5 Extent and Size-Changing Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#626">6.2.6 Access and Iteration</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#627">6.2.7 Test for Inclusion</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#628">6.2.8 Sorting and Sorted list Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#629">6.2.9 Searching Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#6210">6.2.10 In-Place Transformations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="6-2.html#6211">6.2.11 Other Operations</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="6-3.html">6.3 Example Program: An Inventory System</A><BR>
<A HREF="7.html">7: deque</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="7-1.html">7.1 The deque Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="7-1.html#711">7.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="7-2.html">7.2 deque Operations</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="7-3.html">7.3 Example Program: Radix Sort</A><BR>
<A HREF="8.html">8: set, multiset, and bitset</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="8-1.html">8.1 The set Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-1.html#811">8.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="8-2.html">8.2 set and multiset Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#821">8.2.1 Declaration and Initialization of set</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#822">8.2.2 Type Definitions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#823">8.2.3 Insertion</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#824">8.2.4 Removal of Elements from a set</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#825">8.2.5 Searching and Counting</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#826">8.2.6 Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#827">8.2.7 set Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#827-1">8.2.7.1 Subset test</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#827-2">8.2.7.2 Set Union or Intersection</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#827-3">8.2.7.3 Set Difference</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-2.html#828">8.2.8 Other Generic Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="8-3.html">8.3 Example Program: A Spelling Checker</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="8-4.html">8.4 The bitset Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-4.html#841">8.4.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-4.html#842">8.4.2 Declaration and Initialization of bitset</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-4.html#843">8.4.3 Accessing and Testing Elements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-4.html#844">8.4.4 set Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="8-4.html#845">8.4.5 Conversions</A><BR>
<A HREF="9.html">9: map and multimap</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="9-1.html">9.1 The map Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-1.html#911">9.1.1 Include files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="9-2.html">9.2 map and multimap Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#921">9.2.1 Declaration and Initialization of map</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#922">9.2.2 Type Definitions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#923">9.2.3 Insertion and Access</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#924">9.2.4 Removal of Values</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#925">9.2.5 Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#926">9.2.6 Searching and Counting</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#927">9.2.7 Element Comparisons</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-2.html#928">9.2.8 Other map Operations</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="9-3.html">9.3 Example Programs</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-3.html#931">9.3.1 Example: A Telephone Database</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-3.html#932">9.3.2 An Example: Graphs</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="9-3.html#933">9.3.3 Example: A Concordance</A><BR>
<A HREF="10.html">10: The Container Adaptors stack and queue</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="10-1.html">10.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="10-2.html">10.2 The stack Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-2.html#1021">10.2.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-2.html#1022">10.2.2 Declaration and Initialization of stack</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-2.html#1023">10.2.3 Example Program: An RPN Calculator</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="10-3.html">10.3 The queue Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-3.html#1031">10.3.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-3.html#1032">10.3.2 Declaration and Initialization of queue</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="10-3.html#1033">10.3.3 Example Program: Bank Teller Simulation</A><BR>
<A HREF="11.html">11: The Container Adaptor priority queue</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="11-1.html">11.1 The priority queue Data Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="11-1.html#1111">11.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="11-2.html">11.2 The priority queue Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="11-2.html#1121">11.2.1 Declaration and Initialization of priority queue</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="11-3.html">11.3 Example Program: Event-Driven Simulation</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="11-3.html#1131">11.3.1 Example Program: An Ice Cream Store Simulation</A><BR>
<A HREF="12.html">12: string</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="12-1.html">12.1 The string Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-1.html#1211">12.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="12-2.html">12.2 string Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1221">12.2.1 Declaration and Initialization of string</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1222">12.2.2 Resetting Size and Capacity</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1223">12.2.3 Assignment, Append, and Swap</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1224">12.2.4 Character Access</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1225">12.2.5 Iterators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1226">12.2.6 Insertion, Removal, and Replacement</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1227">12.2.7 Copy and Substring</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1228">12.2.8 string Comparisons</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="12-2.html#1229">12.2.9 Searching Operations</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="12-3.html">12.3 Example Function: Split a Line into Words</A><BR>
<H3><A HREF="IV.html">IV: Algorithms</A></H3>
<A HREF="13.html">13: Generic Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-1.html">13.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-1.html#1311">13.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-2.html">13.2 Initialization Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-2.html#1321">13.2.1 Fill a Sequence with An Initial Value</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-2.html#1322">13.2.2 Copy One Sequence Into Another Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-2.html#1323">13.2.3 Initialize a Sequence with Generated Values</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-2.html#1324">13.2.4 Swap Values from Two Parallel Ranges</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-3.html">13.3 Searching Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1331">13.3.1 Find an Element Satisfying a Condition</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1332">13.3.2 Find Consecutive Duplicate Elements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1333">13.3.3 Find the First Occurrence of Any Value from a Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1334">13.3.4 Find a Sub-Sequence within a Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1335">13.3.5 Find the Last Occurrence of a Sub-Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1336">13.3.6 Locate Maximum or Minimum Element</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-3.html#1337">13.3.7 Locate the First Mismatched Elements in Parallel Sequences</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-4.html">13.4 In-Place Transformations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1341">13.4.1 Reverse Elements in a Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1342">13.4.2 Replace Certain Elements With Fixed Value</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1343">13.4.3 Rotate Elements Around a Midpoint</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1344">13.4.4 Partition a Sequence into Two Groups</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1345">13.4.5 Generate Permutations in Sequence</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1346">13.4.6 Merge Two Adjacent Sequences into One</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-4.html#1347">13.4.7 Randomly Rearrange Elements in a Sequence</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-5.html">13.5 Removal Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-5.html#1351">13.5.1 Remove Unwanted Elements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-5.html#1352">13.5.2 Remove Runs of Similar Values</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-6.html">13.6 Scalar-Producing Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-6.html#1361">13.6.1 Count the Number of Elements That Satisfy a Condition</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-6.html#1362">13.6.2 Reduce Sequence to a Single Value</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-6.html#1363">13.6.3 Generalized Inner Product</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-6.html#1364">13.6.4 Test Two Sequences for Pairwise Equality</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-6.html#1365">13.6.5 Lexical Comparison</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-7.html">13.7 Sequence-Generating Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-7.html#1371">13.7.1 Transform One or Two Sequences</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-7.html#1372">13.7.2 Partial Sums</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="13-7.html#1373">13.7.3 Adjacent Differences</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="13-8.html">13.8 The for_each() Algorithm</A><BR>
<A HREF="14.html">14: Ordered Collection Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-1.html">14.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="14-1.html#1411">14.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-2.html">14.2 Sorting Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="14-2.html#1421">14.2.1 Partial Sort</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-3.html">14.3 nth Element</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-4.html">14.4 Binary Search</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-5.html">14.5 Merge Ordered Sequences</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-6.html">14.6 set Operations</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="14-7.html">14.7 heap Operations</A><BR>
<H3><A HREF="V.html">V: Special Techniques</A></H3>
<A HREF="15.html">15: Using Allocators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="15-1.html">15.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="15-2.html">15.2 Using Allocators with Existing C++ Standard Library Containers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="15-3.html">15.3 Building Your Own Allocators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="15-3.html#1531">15.3.1 Using the Standard Allocator Interface</A><BR>
<A HREF="16.html">16: Building Containers and Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="16-1.html">16.1 Extending the C++ Standard Library</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="16-2.html">16.2 Building on the Standard Containers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-2.html#1621">16.2.1 Inheritance</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-2.html#1622">16.2.2 Generic Inheritance</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-2.html#1623">16.2.3 Generic Composition</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="16-3.html">16.3 Creating Your Own Containers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-3.html#1631">16.3.1 Meeting the Container Requirements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-3.html#1632">16.3.2 Meeting the Allocator Interface Requirements</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-3.html#1633">16.3.3 Iterator Requirements</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="16-4.html">16.4 Tips and Techniques for Building Algorithms</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-4.html#1641">16.4.1 The iterator_traits Template</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="16-4.html#1642">16.4.2 The distance and advance Primitives</A><BR>
<A HREF="17.html">17: The Traits Parameter</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="17-1.html">17.1 Defining the Problem</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="17-2.html">17.2 Using the Traits Technique</A><BR>
<A HREF="18.html">18: Exception Handling</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="18-1.html">18.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="18-1.html#1811">18.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="18-2.html">18.2 The Standard Exception Hierarchy</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="18-3.html">18.3 Using Exceptions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="18-4.html">18.4 Example Program: Exceptions</A><BR>
<H3><A HREF="VI.html">VI: Special Classes</A></H3>
<A HREF="19.html">19: auto_ptr</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="19-1.html">19.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="19-1.html#1911">19.1.1 Include File</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="19-2.html">19.2 Declaration and Initialization of Autopointers</A><BR>
<A HREF="20.html">20: complex</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="20-1.html">20.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-1.html#2011">20.1.1 Include Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="20-2.html">20.2 Creating and Using Complex Numbers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2021">20.2.1 Declaring Complex Numbers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2022">20.2.2 Accessing Complex Number Values</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2023">20.2.3 Arithmetic Operations</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2024">20.2.4 Comparing Complex Values</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2025">20.2.5 Stream Input and Output</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2026">20.2.6 Norm and Absolute Value</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2027">20.2.7 Trigonometric Functions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="20-2.html#2028">20.2.8 Transcendental Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="20-3.html">20.3 Example Program: Roots of a Polynomial</A><BR>
<A HREF="21.html">21: numeric_limits</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="21-1.html">21.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="21-2.html">21.2 Fundamental Datatypes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="21-3.html">21.3 numeric_limits Members</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="21-3.html#2131">21.3.1 Members Common to All Types</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="21-3.html#2132">21.3.2 Members Specific to Floating Point Values</A><BR>
<A HREF="22.html">22: valarray</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-1.html">22.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2211">22.1.1 Performance Issues</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2212">22.1.2 Type Restrictions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2212-1">22.1.2.1 A Class That Meets the Type Restrictions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2212-2">22.1.2.2 A Class That Doesn't Meet the Type Restrictions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2213">22.1.3 Other Unique Features</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-1.html#2214">22.1.4 Header Files</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-2.html">22.2 Declaring a valarray</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-3.html">22.3 Assignment Operators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-4.html">22.4 Element and Subset Access</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2241">22.4.1 Ordinary Index Operators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2242">22.4.2 Subset Operators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2242-1">22.4.2.1 The Slice Operation</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2242-2">22.4.2.2 The gslice Operation</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2242-3">22.4.2.3 Boolean Mask</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2242-4">22.4.2.4 Indirect Operation</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-4.html#2243">22.4.3 Unary Operators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-5.html">22.5 Computed Assignment Operators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-6.html">22.6 Member Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="22-7.html">22.7 Non-Member Functions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-7.html#2271">22.7.1 Binary Operators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="22-7.html#2272">22.7.2 Transcendental Functions</A><BR>
<H3><A HREF="VII.html">VII: Locales</A></H3>
<A HREF="23.html">23: Internationalization and Localization</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="23-1.html">23.1 Defining the Terms</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="23-2.html">23.2 Localizing Cultural Conventions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-2.html#2321">23.2.1 Language</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-2.html#2322">23.2.2 Numbers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-2.html#2323">23.2.3 Currency</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-2.html#2324">23.2.4 Time and Date</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-2.html#2325">23.2.5 Ordering</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="23-3.html">23.3 Character Encodings for Localizing Alphabets</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2331">23.3.1 Multibyte Encodings</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2331-1">23.3.1.1 JIS Encoding</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2331-2">23.3.1.2 Shift-JIS Encoding</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2331-3">23.3.1.3 EUC Encoding</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2331-4">23.3.1.4 Uses of the Three Multibyte Encodings</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2332">23.3.2 Wide Characters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="23-3.html#2333">23.3.3 Conversion between Multibyte and Wide Characters</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="23-4.html">23.4 Summary</A><BR>
<A HREF="24.html">24: The C and C++ Locales</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="24-1.html">24.1 The C Locale</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="24-2.html">24.2 The C++ Locales</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="24-2.html#2421">24.2.1 Facets</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="24-2.html#2421-1">24.2.1.1 The Standard Facets</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="24-3.html">24.3 Differences between the C Locale and the C++ Locales</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="24-3.html#2431">24.3.1 Common Uses of the C locale</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="24-3.html#2432">24.3.2 Common Uses of C++ Locales</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="24-3.html#2433">24.3.3 The Relationship between the C Locale and the C++ Locale</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="24-4.html">24.4 The Locale Object</A><BR>
<A HREF="25.html">25: Facets</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-1.html">25.1 Understanding Facet Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-2.html">25.2 Facet Lifetimes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-3.html">25.3 Accessing a Locale's Facets</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-4.html">25.4 Using a Stream's Facet</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-5.html">25.5 Modifying a Standard Facet's Behavior</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="25-6.html">25.6 Creating a New Base Facet Class</A><BR>
<A HREF="26.html">26: Building Your Own Facet Class</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-1.html">26.1 An Example of Formatting Phone Numbers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-2.html">26.2 A Phone Number Class</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-3.html">26.3 A Phone Number Formatting Facet Class</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-4.html">26.4 An Inserter for Phone Numbers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-5.html">26.5 The Phone Number Facet Class Revisited</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="26-5.html#2651">26.5.1 Adding Data Members</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="26-5.html#2652">26.5.2 Adding Country Codes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-6.html">26.6 An Example of a Derived Facet Class</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-7.html">26.7 Using Phone Number Facets</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-8.html">26.8 Formatting Phone Numbers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="26-9.html">26.9 Improving the Inserter Function</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="26-9.html#2691">26.9.1 Primitive Caching</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="26-9.html#2692">26.9.2 Registration of a Callback Function</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="26-9.html#2693">26.9.3 Improving the Inserter</A><BR>
<H3><A HREF="VIII.html">VIII: Iostreams</A></H3>
<A HREF="27.html">27: The Architecture of Iostreams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="27-1.html">27.1 The Standard Iostreams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-1.html#2711">27.1.1 Type Safety</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-1.html#2712">27.1.2 Extensibility to New Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="27-2.html">27.2 How the Standard Iostreams Work</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-2.html#2721">27.2.1 The Iostream Layers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-2.html#2721-1">27.2.1.1 The Formatting Layer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-2.html#2721-2">27.2.1.2 The Transport Layer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-2.html#2721-3">27.2.1.3 Locales</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-2.html#2722">27.2.2 File and In-Memory I/O</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="27-3.html">27.3 How the Standard Iostreams Help Solve Problems</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="27-4.html">27.4 The Internal Structure of the Iostreams Layers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741">27.4.1 The Internal Structure of the Formatting Layer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-1">27.4.1.1 Iostreams Base Class ios_base</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-2">27.4.1.2 The Iostreams Character Type-Dependent Base Class</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-3">27.4.1.3 Character Traits</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-4">27.4.1.4 The Input and Output Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-5">27.4.1.5 The File Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2741-6">27.4.1.6 The String Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2742">27.4.2 The Transport Layer's Internal Structure</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2742-1">27.4.2.1 The Stream Buffer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2742-2">27.4.2.2 The File Buffer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2742-3">27.4.2.3 The String Stream Buffer</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2743">27.4.3 Collaboration of Streams and Stream Buffers</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="27-4.html#2744">27.4.4 Collaboration of Locales and Iostreams</A><BR>
<A HREF="28.html">28: Formatted Input and Output</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="28-1.html">28.1 The Predefined Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="28-2.html">28.2 Input and Output Operators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="28-3.html">28.3 Format Control Using the Stream's Format State</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-3.html#2831">28.3.1 Format Parameters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-3.html#2831-1">28.3.1.1 Parameters That Can Have an Arbitrary Value</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-3.html#2831-2">28.3.1.2 Parameters That Can Have Only a Few Different Values</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-3.html#2832">28.3.2 Manipulators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="28-4.html">28.4 Localization Using the Stream's Locale</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="28-5.html">28.5 Formatted Input</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-5.html#2851">28.5.1 Skipping Characters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="28-5.html#2852">28.5.2 Input of Strings</A><BR>
<A HREF="29.html">29: Error State of Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="29-1.html">29.1 About Flags</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="29-2.html">29.2 Checking the Stream State</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="29-3.html">29.3 Catching Exceptions</A><BR>
<A HREF="30.html">30: File Input and Output</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="30-1.html">30.1 About File Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-1.html#3011">30.1.1 Code Conversion in Wide Character Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="30-2.html">30.2 Working with File Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-2.html#3021">30.2.1 Creating and Opening File Stream Objects</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-2.html#3022">30.2.2 Checking a File Stream's Status</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-2.html#3023">30.2.3 Closing a File Stream</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="30-3.html">30.3 The Open Mode</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3031">30.3.1 The Open Mode Flags</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3031-1">30.3.1.1 The in and out Open Modes</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3031-2">30.3.1.2 The Open modes ate, app, and trunc</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3031-3">30.3.1.3 The binary Open Mode</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3032">30.3.2 Combining Open Modes</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-3.html#3033">30.3.3 Default Open Modes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="30-4.html">30.4 Binary and Text Mode</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="30-5.html">30.5 File Positioning</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="30-5.html#3051">30.5.1 How Positioning Works with the Iostream Architecture</A><BR>
<A HREF="31.html">31: Input and Output In Memory</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="31-1.html">31.1 About String Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="31-2.html">31.2 The Internal Buffer</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="31-3.html">31.3 The Open Modes</A><BR>
<A HREF="32.html">32: Input and Output of User Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-1.html">32.1 A Note on User-Defined Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-2.html">32.2 An Example with a User-Defined Type</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-3.html">32.3 A Simple Extractor and Inserter for the Example</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-4.html">32.4 Improved Extractors and Inserters</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-5.html">32.5 More Improved Extractors and Inserters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="32-5.html#3251">32.5.1 Applying the Recommendations to the Example</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="32-5.html#3252">32.5.2 An Afterthought</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="32-6.html">32.6 Patterns for Extractors and Inserters of User-Defined Types</A><BR>
<A HREF="33.html">33: Manipulators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="33-1.html">33.1 A Recap of Manipulators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="33-2.html">33.2 Manipulators without Parameters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="33-2.html#3321">33.2.1 Examples of Manipulators without Parameters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="33-2.html#3322">33.2.2 A Remark on the Manipulator endl</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="33-3.html">33.3 Manipulators with Parameters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="33-3.html#3331">33.3.1 The Standard Manipulators</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="33-3.html#3332">33.3.2 The Principle of Manipulators with Parameters</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="33-3.html#3333">33.3.3 Examples of Manipulators with Parameters</A><BR>
<A HREF="34.html">34: Streams and Stream Buffers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="34-1.html">34.1 Streams as Objects</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="34-2.html">34.2 Copying and Assigning Stream Objects</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-2.html#3421">34.2.1 Copying a Stream's Data Members</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-2.html#3422">34.2.2 Sharing Stream Buffers Inadvertently</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-2.html#3423">34.2.3 Using Pointers or References to Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="34-3.html">34.3 Sharing a Stream Buffer Among Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-3.html#3431">34.3.1 Several Format Settings for the Same Stream</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-3.html#3432">34.3.2 Several Locales for the Same Stream</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="34-3.html#3433">34.3.3 Input and Output to the Same Stream</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="34-4.html">34.4 Copies of the Stream Buffer</A><BR>
<A HREF="35.html">35: Synchronizing Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-1.html">35.1 Sharing Files Among Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-2.html">35.2 Explicit Synchronization</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="35-2.html#3521">35.2.1 Output Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="35-2.html#3522">35.2.2 Input Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-3.html">35.3 Implicit Synchronization Using the unitbuf Format Flag</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-4.html">35.4 Implicit Synchronization by Tying Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-5.html">35.5 Synchronizing the Standard Iostream Objects</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="35-6.html">35.6 Synchronization with the C Standard I/O</A><BR>
<A HREF="36.html">36: Stream Storage for Private Use</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="36-1.html">36.1 Adding Data to a Stream</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="36-2.html">36.2 An Example: Storing a Date Format String</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="36-3.html">36.3 Another Look at the Date Format String</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="36-4.html">36.4 Caveat</A><BR>
<A HREF="37.html">37: Registration of Callback Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="37-1.html">37.1 Defining Callback Functions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="37-2.html">37.2 An Example</A><BR>
<A HREF="38.html">38: Creating New Stream Classes by Derivation</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="38-1.html">38.1 Deriving a New Stream Type</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="38-2.html">38.2 Choosing a Base Class</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="38-3.html">38.3 Construction and Initialization</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-3.html#3831">38.3.1 Derivation from File Stream or String Stream Classes std::{i,o}fstream or std::{i,o}stringstream</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-3.html#3832">38.3.2 Derivation from the Stream Classes std::basic_{i,o}stream</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="38-4.html">38.4 The Example</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-4.html#3841">38.4.1 The Derived Stream Template</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-4.html#3842">38.4.2 The Date Inserter</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-4.html#3843">38.4.3 The Manipulator</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="38-4.html#3844">38.4.4 A Remark on Performance</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="38-5.html">38.5 Using iword/pword for RTTI in Derived Streams</A><BR>
<A HREF="39.html">39: Stream Buffers</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="39-1.html">39.1 Class basic_streambuf: the Sequence Abstraction</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="39-1.html#3911">39.1.1 The streambuf Hierarchy</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="39-1.html#3912">39.1.2 The streambuf Interface</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="39-2.html">39.2 Deriving New Stream Buffer Classes</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="39-3.html">39.3 Connecting iostream and streambuf Objects</A><BR>
<A HREF="40.html">40: Defining A Code Conversion Facet</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="40-1.html">40.1 Overview</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="40-2.html">40.2 Categories of Code Conversions</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="40-3.html">40.3 Example 1: Defining a Narrow Character Code Conversion (ASCII &lt;-&gt; EBCDIC)</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-3.html#4031">40.3.1 Derive a New Facet Type</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-3.html#4032">40.3.2 Specialize the New Facet Type and Implement the Member Functions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-3.html#4033">40.3.3 Use the New Code Conversion Facet</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="40-4.html">40.4 Error Indication in Code Conversion Facets</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="40-5.html">40.5 Example 2: Defining a Multibyte Character Code Conversion (JIS &lt;-&gt; Unicode)</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-5.html#4051">40.5.1 Define a New Conversion State Type</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-5.html#4052">40.5.2 Define a New Character Traits Type</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-5.html#4053">40.5.3 Define the Code Conversion Facet</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="40-5.html#4054">40.5.4 Use the New Code Conversion Facet</A><BR>
<A HREF="41.html">41: Defining Your Own Character Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="41-1.html">41.1 User-Defined Character Types</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="41-1.html#4111">41.1.1 Requirements for User-Defined Character Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="41-2.html">41.2 Defining Traits and Facets for User-Defined Types</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="41-3.html">41.3 Creating and Using Streams Instantiated on User-Defined Types</A><BR>
<A HREF="42.html">42: Imbuing Locales</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="42-1.html">42.1 Locales and Iostreams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="42-2.html">42.2 When to Imbue a New Locale</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="42-3.html">42.3 An Example</A><BR>
<A HREF="43.html">43: Stream Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="43-1.html">43.1 Definition</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="43-2.html">43.2 Differences between Stream Iterators and Container Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="43-3.html">43.3 Error Indication by Stream Iterators</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="43-4.html">43.4 Several Iterators on One Stream</A><BR>
<A HREF="44.html">44: Iostreams and Multithreading</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="44-1.html">44.1 Multithread-Safe: Level 2</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="44-2.html">44.2 The Locking Mechanism</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="44-2.html#4421">44.2.1 Protecting the Buffer</A><BR>
<A HREF="45.html">45: Standard vs. Traditional Iostreams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="45-1.html">45.1 The Character Type</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="45-2.html">45.2 Internationalization</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="45-3.html">45.3 File Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="45-3.html#4531">45.3.1 Connecting Files and Streams</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="45-3.html#4532">45.3.2 The File Buffer</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="45-4.html">45.4 String Streams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="45-5.html">45.5 Streams with Assign</A><BR>
<A HREF="46.html">46: Standard vs. Apache C++ Standard Library Iostreams</A><BR>
&nbsp;&nbsp;&nbsp;<A HREF="46-1.html">46.1 Extensions</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="46-1.html#4611">46.1.1 File Descriptors</A><BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="46-1.html#4612">46.1.2 Multithreaded Environments</A><BR>
<H3><A HREF="tindex.html">Topic Index</A></H3>
</SMALL></TD></TR>
</TABLE>
<!-- 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>