Apache C++ Standard Library User's Guide

## Topic Index

Click on one of the letters below to jump immediately to that section of the index.

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X

#### A

abs() [in 20.2.6 Norm and Absolute Value]
accumulate() [in 13.6.2 Reduce Sequence to a Single Value]
adaptors [in 16.2.2 Generic Inheritance]
function [in 3.5 Negators and Binders]
priority queue [in 11.2.1 Declaration and Initialization of priority queue]
queue [in 10.3.1 Include Files]
stack [in 10.1 Overview]
adjacent difference
defined [in 13.7.3 Adjacent Differences]
adjacent_difference() [in 13.7.3 Adjacent Differences]
adjacent_find() [in 13.3.2 Find Consecutive Duplicate Elements]
advance() [in 2.5 Iterator Operations]
advance
primitive [in 16.4.2 The distance and advance Primitives]
algorithms
binary search [in 14.4 Binary Search]
building techniques [in 16.4 Tips and Techniques for Building Algorithms]
categories [in 16.1 Extending the C++ Standard Library]
defined [in 1.5.2 Conventions]
for_each [in 13.8 The for_each() Algorithm]
generic [in 13.1 Overview]
heap [in 14.7 heap Operations]
in-place transformations [in 13.1 Overview]
initialization [in 13.2 Initialization Algorithms]
initializing a sequence [in 13.1 Overview]
merge ordered sequences [in 14.5 Merge Ordered Sequences]
miscellaneous [in 13.1 Overview]
nth element [in 14.3 nth Element]
ordered collection [in 14.1 Overview]
removal [in 13.1 Overview]
[in 13.5 Removal Algorithms]
scalar-producing [in 13.1 Overview]
[in 13.6 Scalar-Producing Algorithms]
searching [in 13.1 Overview]
sequence-generating [in 13.1 Overview]
[in 13.7 Sequence-Generating Algorithms]
set operations [in 14.6 set Operations]
sorting [in 14.2 Sorting Algorithms]
tips and techniques [in 16.4 Tips and Techniques for Building Algorithms]
user-defined [in 16.1 Extending the C++ Standard Library]
allocator interface requirements [in 16.3.2 Meeting the Allocator Interface Requirements]
allocator interface
defined [in 15.1 Overview]
allocator<T> [in 15.2 Using Allocators with Existing C++ Standard Library Containers]
allocators
conforming [in 15.3.1 Using the Standard Allocator Interface]
defined [in 15.1 Overview]
defining your own [in 15.3 Building Your Own Allocators]
required member functions [in 15.3.1 Using the Standard Allocator Interface]
with existing containers [in 15.2 Using Allocators with Existing C++ Standard Library Containers]
any() [in 8.4.3 Accessing and Testing Elements]
app [in 30.3.1.2 The Open modes ate, app, and trunc]
append() [in 12.2.3 Assignment, Append, and Swap]
arg() [in 20.2.6 Norm and Absolute Value]
assign() [in 12.2.3 Assignment, Append, and Swap]
[in 5.2.1 Declaration and Initialization of vectors]
[in 6.2.1 Declaration and Initialization of lists]
associative container [in 16.1 Extending the C++ Standard Library]
at() [in 12.2.4 Character Access]
[in 5.2.3 Subscripting a vector]
at-end [in 30.3.1.2 The Open modes ate, app, and trunc]
ate [in 30.3.1.2 The Open modes ate, app, and trunc]
attach(), eliminated [in 45.3.1 Connecting Files and Streams]
automatic file conversion [in 30.4 Binary and Text Mode]
auto_ptr class [in 19.1 Overview]
declaring and initializing [in 19.2 Declaration and Initialization of Autopointers]
include file [in 19.1.1 Include File]

#### B

back() [in 5.2.3 Subscripting a vector]
[in 6.2.6 Access and Iteration]
back_inserter() [in 2.4 Insert Iterators]
badbit exception, recommended [in 29.3 Catching Exceptions]
base and derived facets example [in 25.1 Understanding Facet Types]
base facet class, how to define [in 25.6 Creating a New Base Facet Class]
base facet types example [in 25.1 Understanding Facet Types]
base facet, defined [in 25.1 Understanding Facet Types]
basic_filebuf [in 27.4.2.2 The File Buffer]
[in 39.1.1 The streambuf Hierarchy]
deriving from [in 39.2 Deriving New Stream Buffer Classes]
basic_fstream <charT,traits> [in 30.1 About File Streams]
basic_ifstream <charT,traits> [in 30.1 About File Streams]
basic_iostream [in 27.4.1.4 The Input and Output Streams]
[in 27.4.1.5 The File Streams]
basic_istream [in 27.4.1.4 The Input and Output Streams]
[in 27.4.1.5 The File Streams]
basic_istringstream [in 27.4.1.6 The String Streams]
[in 27.4.1.6 The String Streams]
[in 27.4.1.6 The String Streams]
[in 31.1 About String Streams]
basic_ofstream <charT,traits> [in 30.1 About File Streams]
basic_ostream [in 27.4.1.4 The Input and Output Streams]
[in 27.4.1.5 The File Streams]
basic_ostringstream [in 31.1 About String Streams]
basic_streambuf [in 27.4.2.1 The Stream Buffer]
interface [in 39.1.2 The streambuf Interface]
overview [in 39.1.1 The streambuf Hierarchy]
basic_string [in 12.1 The string Abstraction]
basic_stringbuf [in 27.4.2.3 The String Stream Buffer]
[in 39.1.1 The streambuf Hierarchy]
basic_stringstream [in 31.1 About String Streams]
begin() [in 2.2.1.1 Kinds of Input Iterators]
[in 5.2.6 Iteration]
[in 8.2.6 Iterators]
[in 9.2.5 Iterators]
bidirectional file streams
no implicit flags [in 30.3.1.1 The in and out Open Modes]
bidirectional iterators [in 2.2 Varieties of Iterators]
[in 2.2 Varieties of Iterators]
[in 2.2.4 Bidirectional Iterators]
bidirectional streams
better than sharing stream buffer [in 34.3.3 Input and Output to the Same Stream]
defined [in 27.4.1.4 The Input and Output Streams]
easier for reading and writing [in 34.3.3 Input and Output to the Same Stream]
[in 34.3.3 Input and Output to the Same Stream]
figure [in 34.3.3 Input and Output to the Same Stream]
only one format setting [in 34.3.3 Input and Output to the Same Stream]
with output manipulator [in 28.3.2 Manipulators]
binary I/O, defined [in 27.2 How the Standard Iostreams Work]
binary mode [in 30.4 Binary and Text Mode]
binary search algorithms [in 14.4 Binary Search]
binary search tree [in 4.4 Container Types Not Found in the C++ Standard Library]
binary_function [in 3.2.2.1 To Employ Existing C++ Standard Library Function Objects]
[in 6.3 Example Program - An Inventory System]
binary_search() [in 14.4 Binary Search]
binders
defined [in 3.5 Negators and Binders]
bit groups [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
bit-wise operators [in 8.4 The bitset Abstraction]
bitset
accessing and testing elements [in 8.4.3 Accessing and Testing Elements]
declaring and initializing [in 8.4.2 Declaration and Initialization of bitset]
defined [in 8.4 The bitset Abstraction]
exclusive or operator [in 8.4.4 set Operations]
include file [in 8.4.1 Include Files]
or operator [in 8.4.4 set Operations]
bitsets
and operator [in 8.4.4 set Operations]
conversions on [in 8.4.5 Conversions]
intersection operator [in 8.4.4 set Operations]
negation operator [in 8.4.4 set Operations]
set operations on [in 8.4.4 set Operations]
shift operators [in 8.4.4 set Operations]
boolalpha [in 33.2.1 Examples of Manipulators without Parameters]
boolean vectors [in 5.3 Boolean Vectors]

#### C

C and C++ locales
relationship [in 24.3.3 The Relationship between the C Locale and the C++ Locale]
C locale
categories of [in 24.1 The C Locale]
complications in switching [in 24.3.1 Common Uses of the C locale]
default [in 24.3.1 Common Uses of the C locale]
example [in 24.3.1 Common Uses of the C locale]
multiple [in 24.3.1 Common Uses of the C locale]
native [in 24.3.1 Common Uses of the C locale]
representations of [in 24.1 The C Locale]
uses of [in 24.3.1 Common Uses of the C locale]
C stdio, defined [in 27.1 The Standard Iostreams]
C++ locale
multiple [in 24.3.2 Common Uses of C++ Locales]
native [in 24.3.2 Common Uses of C++ Locales]
a container of facets [in 24.2 The C++ Locales]
classic locale [in 24.3.2 Common Uses of C++ Locales]
global [in 24.3.2 Common Uses of C++ Locales]
named [in 24.3.2 Common Uses of C++ Locales]
uses [in 24.3.2 Common Uses of C++ Locales]
callback functions
example [in 26.9.2 Registration of a Callback Function]
[in 37.2 An Example]
how used [in 37.1 Defining Callback Functions]
CallbackRegistrar [in 26.9.3 Improving the Inserter]
capacity() [in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
catenation [in 13.2.2 Copy One Sequence Into Another Sequence]
character encodings [in 23.3 Character Encodings for Localizing Alphabets]
character traits, stream classes [in 27.4.1.2 The Iostreams Character Type-Dependent Base Class]
end-of-file value [in 27.4.1.3 Character Traits]
equality of two characters [in 27.4.1.3 Character Traits]
type of EOF value [in 27.4.1.3 Character Traits]
[in 27.4.1.3 Character Traits]
class templates, file streams [in 30.1 About File Streams]
close() [in 27.4.2.2 The File Buffer]
code conversion facet, multibyte
defining character traits type [in 40.5.2 Define a New Character Traits Type]
defining conversion state type [in 40.5.1 Define a New Conversion State Type]
defining the facet [in 40.5.3 Define the Code Conversion Facet]
implementation steps [in 40.5 Example 2 - Defining a Multibyte Character Code Conversion (JIS <-> Unicode)]
using the new facet [in 40.5.4 Use the New Code Conversion Facet]
code conversion facet, tiny character
deriving new facet type [in 40.3 Example 1 - Defining a Narrow Character Code Conversion (ASCII <-> EBCDIC)]
implementation steps [in 40.3 Example 1 - Defining a Narrow Character Code Conversion (ASCII <-> EBCDIC)]
specializing type, implementing functions [in 40.3.1 Derive a New Facet Type]
using new facet [in 40.3.3 Use the New Code Conversion Facet]
code conversion facets
error indication [in 40.4 Error Indication in Code Conversion Facets]
overview [in 40.1 Overview]
user-defined type [in 41.2 Defining Traits and Facets for User-Defined Types]
code conversions
categories of [in 40.2 Categories of Code Conversions]
constant-size [in 40.2 Categories of Code Conversions]
defined [in 27.2 How the Standard Iostreams Work]
in wide character streams [in 30.1 About File Streams]
multibyte [in 40.2 Categories of Code Conversions]
performed by code conversion facets [in 40.1 Overview]
state-dependent multibyte [in 40.2 Categories of Code Conversions]
state-independent multibyte [in 40.2 Categories of Code Conversions]
code reuse
composition [in 16.2.3 Generic Composition]
generic inheritance [in 16.2.2 Generic Inheritance]
[in 16.2.2 Generic Inheritance]
inheritance [in 16.2 Building on the Standard Containers]
ways to achieve [in 16.2 Building on the Standard Containers]
codecvt<> [in 24.2.1.1 The Standard Facets]
codesets
7-bit ASCII [in 23.3 Character Encodings for Localizing Alphabets]
8-bit [in 23.3 Character Encodings for Localizing Alphabets]
multibyte character codes [in 23.3 Character Encodings for Localizing Alphabets]
collate class [in 24.2.1.1 The Standard Facets]
collate<> [in 24.2.1.1 The Standard Facets]
compare() [in 12.2.8 string Comparisons]
complex class [in 20.1 Overview]
header file [in 20.1.1 Include Files]
complex conjugate [in 20.2.1 Declaring Complex Numbers]
complex numbers [in 20.1 Overview]
accessing [in 20.2.2 Accessing Complex Number Values]
comparing [in 20.2.4 Comparing Complex Values]
declaring [in 20.2.1 Declaring Complex Numbers]
norm and absolute value [in 20.2.6 Norm and Absolute Value]
transcendental functions [in 20.2.8 Transcendental Functions]
trigonometric functions [in 20.2.7 Trigonometric Functions]
with streams [in 20.2.5 Stream Input and Output]
concordance [in 9.3.3 Example - A Concordance]
conj() [in 20.2.1 Declaring Complex Numbers]
conjugate
complex [in 20.2.1 Declaring Complex Numbers]
constant iterators [in 2.2 Varieties of Iterators]
consulting services [in 1.6 Consulting Services and Training]
container adaptors [in 4.1 Overview]
container iterators [in 2.2.1.1 Kinds of Input Iterators]
containers
bitset [in 8.4 The bitset Abstraction]
building from scratch [in 16.3 Creating Your Own Containers]
characteristics of [in 4.1 Overview]
creating your own [in 16.2 Building on the Standard Containers]
[in 16.3 Creating Your Own Containers]
deque [in 7.1 The deque Data Abstraction]
design requirements [in 16.3 Creating Your Own Containers]
designing your own [in 16.3.3 Iterator Requirements]
designing [in 15.1 Overview]
how to select [in 4.2 Selecting a Container]
in the C++ Standard Library [in 4.1 Overview]
iterator requirements [in 16.3.3 Iterator Requirements]
list [in 6.1 The list Data Abstraction]
map [in 9.1 The map Data Abstraction]
multimap [in 9.1 The map Data Abstraction]
multiset [in 8.1 The set Data Abstraction]
not in the C++ Standard Library [in 4.4 Container Types Not Found in the C++ Standard Library]
priority queue [in 11.1 The priority queue Data Abstraction]
queue [in 10.3 The queue Data Abstraction]
set [in 8.1 The set Data Abstraction]
stack [in 10.2 The stack Data Abstraction]
user-defined [in 16.1 Extending the C++ Standard Library]
[in 16.1 Extending the C++ Standard Library]
[in 16.3.2 Meeting the Allocator Interface Requirements]
vector [in 5.1 The vector Data Abstraction]
vector<bool> [in 5.3 Boolean Vectors]
conventions [in 1.5.2 Conventions]
conversions, wide character [in 24.2.1.1 The Standard Facets]
copy constructor [in 5.2.1 Declaration and Initialization of vectors]
copy() [in 12.2.7 Copy and Substring]
[in 13.2.2 Copy One Sequence Into Another Sequence]
copyfmt() [in 34.2.1 Copying a Stream's Data Members]
copy_backward() [in 13.2.2 Copy One Sequence Into Another Sequence]
count() [in 13.6.1 Count the Number of Elements That Satisfy a Condition]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
count_if() [in 13.6.1 Count the Number of Elements That Satisfy a Condition]
cout.getloc() [in 25.2 Facet Lifetimes]
ctype class [in 24.2.1.1 The Standard Facets]
ctype<> [in 24.2.1.1 The Standard Facets]
Curry, Haskell P. [in 3.5 Negators and Binders]
c_str() [in 12.2.4 Character Access]

#### D

data() [in 12.2.4 Character Access]
datatypes
fundamental [in 21.2 Fundamental Datatypes]
deep copy [in 4.3 Memory Management Issues]
deprecated features [in 27.4.1 The Internal Structure of the Formatting Layer]
[in 45.4 String Streams]
deque
declaring [in 7.2 deque Operations]
defined [in 7.1 The deque Data Abstraction]
example [in 7.3 Example Program - Radix Sort]
include file [in 7.1.1 Include Files]
operations for [in 7.2 deque Operations]
derived facet types example [in 25.1 Understanding Facet Types]
derived facet, defined [in 25.1 Understanding Facet Types]
deriving a new stream type [in 38.1 Deriving a New Stream Type]
designing your own containers [in 16.2 Building on the Standard Containers]
allocator interface requirements [in 16.3.2 Meeting the Allocator Interface Requirements]
container requirements [in 16.3.1 Meeting the Container Requirements]
design requirements [in 16.3 Creating Your Own Containers]
iterators [in 16.3.3 Iterator Requirements]
detach(), eliminated [in 45.3.1 Connecting Files and Streams]
distance() [in 2.5 Iterator Operations]
distance
primitive [in 16.4.2 The distance and advance Primitives]
distance_type [in 16.4.2 The distance and advance Primitives]
documentation locations [in 1.4.1 Locations of Online Documentation]
documentation
location of online [in 1.4.1 Locations of Online Documentation]
dynamic casts
alternatives to [in 38.4.4 A Remark on Performance]
performance issues [in 38.4.4 A Remark on Performance]

#### E

empty() [in 10.2 The stack Data Abstraction]
[in 11.2 The priority queue Operations]
[in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
[in 6.2.5 Extent and Size-Changing Operations]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
encoding
Extended UNIX Code (EUC) [in 23.3.1.3 EUC Encoding]
JIS [in 23.3.1 Multibyte Encodings]
Shift-JIS [in 23.3.1.1 JIS Encoding]
end() [in 2.2.1.1 Kinds of Input Iterators]
[in 5.2.6 Iteration]
[in 8.2.6 Iterators]
[in 9.2.5 Iterators]
endl [in 28.3.2 Manipulators]
flushes output stream [in 33.2.2 A Remark on the Manipulator endl]
manipulator without parameters [in 33.2.1 Examples of Manipulators without Parameters]
equal() [in 13.3.7 Locate the First Mismatched Elements in Parallel Sequences]
[in 13.6.4 Test Two Sequences for Pairwise Equality]
equal_range() [in 14.4 Binary Search]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
erase() [in 12.2.6 Insertion, Removal, and Replacement]
[in 6.2.4 Removing Elements]
[in 8.2.4 Removal of Elements from a set]
[in 9.2.4 Removal of Values]
Eratosthenes [in 5.4 Example Program - The Sieve of Eratosthenes]
error model [in 18.2 The Standard Exception Hierarchy]
error state of streams [in 29.1 About Flags]
errors
catching exceptions [in 29.3 Catching Exceptions]
checking the stream state [in 29.2 Checking the Stream State]
escape sequences [in 23.3.1.1 JIS Encoding]
EUC encoding [in 23.3.1.2 Shift-JIS Encoding]
event-driven simulation [in 11.3 Example Program - Event-Driven Simulation]
example program [in 9.3.3 Example - A Concordance]
bank teller simulation [in 10.3.2 Declaration and Initialization of queue]
event-driven simulation [in 11.3 Example Program - Event-Driven Simulation]
graphs [in 9.3.2 An Example - Graphs]
ice cream store simulation [in 11.3 Example Program - Event-Driven Simulation]
input iterators [in 2.2.1 Input Iterators]
inventory system [in 6.3 Example Program - An Inventory System]
[in 6.3 Example Program - An Inventory System]
radix sort [in 7.3 Example Program - Radix Sort]
reversing elements in a sequence [in 13.4.1 Reverse Elements in a Sequence]
roots of a polynomial [in 20.3 Example Program - Roots of a Polynomial]
RPN calculator [in 10.2.2 Declaration and Initialization of stack]
[in 10.2.2 Declaration and Initialization of stack]
sieve of Eratosthenes [in 5.4 Example Program - The Sieve of Eratosthenes]
[in 5.4 Example Program - The Sieve of Eratosthenes]
spelling checker [in 8.3 Example Program - A Spelling Checker]
telephone database [in 9.3.1 Example - A Telephone Database]
example programs
location of [in 13.1 Overview]
example
using new code conversion facet [in 40.3.3 Use the New Code Conversion Facet]
a simple copy [in 13.2.2 Copy One Sequence Into Another Sequence]
activating an exception on an input stream [in 29.3 Catching Exceptions]
adding a constant table to a facet class [in 26.5.2 Adding Country Codes]
adding an arbitrary table to a facet class [in 26.5.2 Adding Country Codes]
adding data members to a facet class [in 26.5.1 Adding Data Members]
adjacent_find instruction [in 13.3.2 Find Consecutive Duplicate Elements]
algorithm swap_ranges [in 13.2.4 Swap Values from Two Parallel Ranges]
base and derived facets [in 25.1 Understanding Facet Types]
changing formats within a shift expression [in 28.3.2 Manipulators]
character classification facet for user-defined type [in 41.2 Defining Traits and Facets for User-Defined Types]
circumventing protected destructors [in 25.2 Facet Lifetimes]
class derived from an output stream [in 38.3.2 Derivation from the Stream Classes std -:basic_{i,o}stream]
class that registers a callback function [in 26.9.2 Registration of a Callback Function]
closing a file stream [in 30.2.3 Closing a File Stream]
code conversion facet for user-defined type [in 41.2 Defining Traits and Facets for User-Defined Types]
constructing a locale object as a copy [in 24.4 The Locale Object]
conversion code facet, multibyte encoding [in 40.5.3 Define the Code Conversion Facet]
copy algorithm [in 13.2.2 Copy One Sequence Into Another Sequence]
copy to output [in 13.2.2 Copy One Sequence Into Another Sequence]
copying a stream's data members [in 34.2.1 Copying a Stream's Data Members]
copying data means copying behavior [in 34.2.2 Sharing Stream Buffers Inadvertently]
creating a German locale [in 25.5 Modifying a Standard Facet's Behavior]
creating a locale with a new type facet [in 25.6 Creating a New Base Facet Class]
creating a new stream class by derivation [in 38.4 The Example]
creating and using streams instantiated on user-defined types [in 41.3 Creating and Using Streams Instantiated on User-Defined Types]
creating file streams [in 30.2.1 Creating and Opening File Stream Objects]
date format string manipulator [in 36.3 Another Look at the Date Format String]
date inserter for new stream class [in 38.4.2 The Date Inserter]
decimal point not period [in 28.4 Localization Using the Stream's Locale]
declaring specialized code conversion facet type [in 40.3.2 Specialize the New Facet Type and Implement the Member Functions]
defining a base class for output stream manipulators [in 38.4.3 The Manipulator]
defining a new base facet class [in 25.6 Creating a New Base Facet Class]
defining operator<< for tm [in 25.4 Using a Stream's Facet]
derived facet class [in 26.6 An Example of a Derived Facet Class]
deriving code conversion facet type [in 40.3.1 Derive a New Facet Type]
deriving new logstream class [in 39.2 Deriving New Stream Buffer Classes]
deriving new stream buffer class [in 39.2 Deriving New Stream Buffer Classes]
error indication by stream iterators [in 43.3 Error Indication by Stream Iterators]
exceptions [in 18.4 Example Program - Exceptions]
extracting a manipulator [in 33.1 A Recap of Manipulators]
extractor for user-defined type [in 32.3 A Simple Extractor and Inserter for the Example]
extractor that formats dates [in 32.4 Improved Extractors and Inserters]
facet objects don''t need deletion [in 25.2 Facet Lifetimes]
file descriptors for copying stream data [in 34.2.2 Sharing Stream Buffers Inadvertently]
fill an array with initial values [in 13.2.1 Fill a Sequence with An Initial Value]
fill in a portion of a collection [in 13.2.1 Fill a Sequence with An Initial Value]
fill() [in 13.2.1 Fill a Sequence with An Initial Value]
find algorithm [in 13.3.1 Find an Element Satisfying a Condition]
finding max and min elements [in 13.3.6 Locate Maximum or Minimum Element]
find_end algorithm [in 13.3.5 Find the Last Occurrence of a Sub-Sequence]
format control using some parameters [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
formatting phone numbers (long) [in 26.1 An Example of Formatting Phone Numbers]
generate a list of label values [in 13.2.3 Initialize a Sequence with Generated Values]
generate algorithm [in 13.2.3 Initialize a Sequence with Generated Values]
generate an arithmetic progression [in 13.2.3 Initialize a Sequence with Generated Values]
global C++ locale like C [in 24.3.2 Common Uses of C++ Locales]
imbuing a new locale on a stream [in 42.3 An Example]
implementing a date inserter for a derived stream class [in 38.4.2 The Date Inserter]
implementing a manipulator for output stream manipulators [in 38.4.3 The Manipulator]
implementing new logstream class [in 39.2 Deriving New Stream Buffer Classes]
implementing overflow function for stream buffer class [in 39.2 Deriving New Stream Buffer Classes]
implicit synchronization by tying a stream to an output stream [in 35.4 Implicit Synchronization by Tying Streams]
in memory I/0 of strings [in 31.1 About String Streams]
inserter for manipulator with parameter [in 33.3.2 The Principle of Manipulators with Parameters]
inserter for phone number class [in 26.4 An Inserter for Phone Numbers]
inserter for user-defined type [in 32.3 A Simple Extractor and Inserter for the Example]
inserter that formats dates [in 32.4 Improved Extractors and Inserters]
inserter that registers a callback function [in 26.9.3 Improving the Inserter]
iostreams (long) [in 26.1 An Example of Formatting Phone Numbers]
iword() and pword() for RTTI in derived stream class [in 38.5 Using iword/pword for RTTI in Derived Streams]
manipulator extractor [in 33.1 A Recap of Manipulators]
manipulator type manipT [in 33.3.2 The Principle of Manipulators with Parameters]
manipulator without parameters [in 33.2.1 Examples of Manipulators without Parameters]
manipulators with parameters [in 33.3.3 Examples of Manipulators with Parameters]
mismatch algorithm [in 13.3.7 Locate the First Mismatched Elements in Parallel Sequences]
new facet class declaration [in 26.3 A Phone Number Formatting Facet Class]
next_permutation algorithm [in 13.4.5 Generate Permutations in Sequence]
open mode [in 30.3 The Open Mode]
opening file streams [in 30.2.1 Creating and Opening File Stream Objects]
output manipulator that inserts a certain string [in 33.3.3 Examples of Manipulators with Parameters]
pointers instead of copies of stream objects [in 34.2.3 Using Pointers or References to Streams]
primitive caching [in 26.9.1 Primitive Caching]
printing several units in one expression [in 28.2 Input and Output Operators]
processing files in memory with string streams [in 34.4 Copies of the Stream Buffer]
protected destructors [in 25.2 Facet Lifetimes]
references instead of copies of stream objects [in 34.2.3 Using Pointers or References to Streams]
registering a callback function [in 26.9.2 Registration of a Callback Function]
[in 37.2 An Example]
replacing a facet object [in 25.5 Modifying a Standard Facet's Behavior]
retrieving facet data without new/delete [in 25.2 Facet Lifetimes]
seek function version for fixed-width character encoding [in 30.5 File Positioning]
seek functions for iostreams [in 30.5.1 How Positioning Works with the Iostream Architecture]
seeking to a position [in 30.5 File Positioning]
self copies [in 13.2.2 Copy One Sequence Into Another Sequence]
separate file buffer object for copying stream data [in 34.2.2 Sharing Stream Buffers Inadvertently]
setting field width [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
shared stream buffer for I/O to same stream [in 34.3.3 Input and Output to the Same Stream]
sharing stream buffer for several locales [in 34.3.2 Several Locales for the Same Stream]
sharing stream buffer when output is formatted differently [in 34.3.1 Several Format Settings for the Same Stream]
skipping white space [in 28.5.1 Skipping Characters]
split a line into words [in 12.3 Example Function - Split a Line into Words]
standard facet template numpunct [in 25.1 Understanding Facet Types]
switching locales in C [in 24.3.1 Common Uses of the C locale]
switching locales in C++ [in 24.3.1 Common Uses of the C locale]
switching off the unitbuf flag [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
telephone number class declaration [in 26.2 A Phone Number Class]
tiny character code conversion [in 40.3 Example 1 - Defining a Narrow Character Code Conversion (ASCII <-> EBCDIC)]
traits class for user-defined type [in 41.2 Defining Traits and Facets for User-Defined Types]
traits template [in 17.2 Using the Traits Technique]
updating a cache with a callback function [in 26.9.2 Registration of a Callback Function]
use fill to initialize a list [in 13.2.1 Fill a Sequence with An Initial Value]
use fill to overwrite values in list [in 13.2.1 Fill a Sequence with An Initial Value]
user-defined facet class (long) [in 26.1 An Example of Formatting Phone Numbers]
user-defined type [in 32.2 An Example with a User-Defined Type]
[in 41.1.1 Requirements for User-Defined Character Types]
use_facet and has_facet [in 25.3 Accessing a Locale's Facets]
use_facet type error [in 25.3 Accessing a Locale's Facets]
using a new facet class [in 26.7 Using Phone Number Facets]
using a stream's facet [in 25.4 Using a Stream's Facet]
using callback functions with a user-defined stream inserter [in 26.9.2 Registration of a Callback Function]
using code conversion facet, multibyte encoding [in 40.5.4 Use the New Code Conversion Facet]
using copy to convert type [in 13.2.2 Copy One Sequence Into Another Sequence]
using flush() to flush a stream buffer [in 35.2.1 Output Streams]
using generic set algorithms [in 14.6 set Operations]
using ios_base::unitbuf to flush a stream buffer [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
using is_open() [in 30.2.2 Checking a File Stream's Status]
[in 30.2.2 Checking a File Stream's Status]
using new log buffer class [in 39.2 Deriving New Stream Buffer Classes]
using sync() to refill a stream buffer [in 35.2.2 Input Streams]
using the accumulate algorithm [in 13.6.2 Reduce Sequence to a Single Value]
using the adjacent difference algorithm [in 13.7.3 Adjacent Differences]
using the binary search algorithm [in 14.4 Binary Search]
using the copy algorithm [in 13.2.2 Copy One Sequence Into Another Sequence]
using the count algorithm [in 13.6.1 Count the Number of Elements That Satisfy a Condition]
using the ctype facet [in 25.3 Accessing a Locale's Facets]
using the equal algorithm [in 13.6.4 Test Two Sequences for Pairwise Equality]
using the find algorithm [in 13.3.3 Find the First Occurrence of Any Value from a Sequence]
using the heap algorithms [in 14.7 heap Operations]
using the inner_product algorithm [in 13.6.3 Generalized Inner Product]
using the inplace_merge algorithm [in 13.4.6 Merge Two Adjacent Sequences into One]
using the lexicographical_compare algorithm [in 13.6.5 Lexical Comparison]
using the merge algorithm [in 14.5 Merge Ordered Sequences]
using the next_permutation algorithm [in 13.4.5 Generate Permutations in Sequence]
using the nth_element algorithm [in 14.3 nth Element]
using the partial sort algorithm [in 14.2.1 Partial Sort]
using the partial sum algorithm [in 13.7.2 Partial Sums]
using the partition algorithm [in 13.4.4 Partition a Sequence into Two Groups]
using the random_shuffle algorithm [in 13.4.7 Randomly Rearrange Elements in a Sequence]
using the remove algorithm [in 13.5.1 Remove Unwanted Elements]
using the replace algorithm [in 13.4.2 Replace Certain Elements With Fixed Value]
using the reverse algorithm [in 13.4.1 Reverse Elements in a Sequence]
using the rotate algorithm [in 13.4.3 Rotate Elements Around a Midpoint]
using the search algorithm [in 13.3.4 Find a Sub-Sequence within a Sequence]
using the sort algorithm [in 14.2 Sorting Algorithms]
using the transform algorithm [in 13.7.1 Transform One or Two Sequences]
using the unique algorithm [in 13.5.2 Remove Runs of Similar Values]
using time_put facet to print a date [in 25.4 Using a Stream's Facet]
wrong way to write to an output stream [in 34.2 Copying and Assigning Stream Objects]
exception handling classes
hierarchy [in 18.2 The Standard Exception Hierarchy]
include files [in 18.1.1 Include Files]
using [in 18.3 Using Exceptions]
exception handling [in 18.1 Overview]
performance issues [in 38.4.4 A Remark on Performance]
exception mask [in 29.3 Catching Exceptions]
exceptions() [in 34.2.1 Copying a Stream's Data Members]
explicit synchronization [in 35.2 Explicit Synchronization]
exponential functions [in 20.2.8 Transcendental Functions]
extending the C++ Standard Library [in 16.1 Extending the C++ Standard Library]
extensibility
manipulators [in 33.1 A Recap of Manipulators]
to new types [in 27.1.1 Type Safety]
user-defined types [in 32.1 A Note on User-Defined Types]
extractors and inserters
improving [in 32.5 More Improved Extractors and Inserters]
extractors [in 27.4.1.4 The Input and Output Streams]
[in 28.2 Input and Output Operators]
[in 32.3 A Simple Extractor and Inserter for the Example]
example with recommended functionality [in 32.5.1 Applying the Recommendations to the Example]
pattern for user-defined types [in 32.6 Patterns for Extractors and Inserters of User-Defined Types]
that format dates [in 32.4 Improved Extractors and Inserters]

#### F

facet objects
create with new, not on stack [in 25.2 Facet Lifetimes]
deleting unnecessary [in 25.2 Facet Lifetimes]
facet-class, user-defined
adding an arbitrary table [in 26.5.2 Adding Country Codes]
adding data members [in 26.5 The Phone Number Facet Class Revisited]
adding static data member [in 26.5.2 Adding Country Codes]
base class [in 26.3 A Phone Number Formatting Facet Class]
class declaration [in 26.2 A Phone Number Class]
derived facet class [in 26.6 An Example of a Derived Facet Class]
example begins [in 26.1 An Example of Formatting Phone Numbers]
improved inserter [in 26.9.3 Improving the Inserter]
improving the inserter [in 26.9 Improving the Inserter Function]
information required for [in 26.5 The Phone Number Facet Class Revisited]
initial facet class declaration [in 26.3 A Phone Number Formatting Facet Class]
inserter [in 26.4 An Inserter for Phone Numbers]
memory management [in 26.5.2 Adding Country Codes]
primitive caching [in 26.9.1 Primitive Caching]
registration of callback functions [in 26.9.2 Registration of a Callback Function]
using facet instances [in 26.7 Using Phone Number Facets]
facets
defined [in 24.2 The C++ Locales]
[in 24.2.1 Facets]
[in 25.1 Understanding Facet Types]
difference between base and derived [in 25.1 Understanding Facet Types]
overriding default deletion [in 25.2 Facet Lifetimes]
standard [in 24.2.1.1 The Standard Facets]
[in 25.1 Understanding Facet Types]
failbit [in 29.1 About Flags]
field width [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
figure
adding a new facet to a locale [in 25.6 Creating a New Base Facet Class]
bidirectional stream [in 34.3.3 Input and Output to the Same Stream]
C locale functions and information [in 24.1 The C Locale]
C++ locale as container of facets [in 24.2 The C++ Locales]
character code conversion performed by the file buffer [in 27.4.2.2 The File Buffer]
code conversion between multibyte and wide characters [in 27.2 How the Standard Iostreams Work]
converting from multibyte to wide character encoding [in 23.3.3 Conversion between Multibyte and Wide Characters]
copies of the file content [in 34.4 Copies of the Stream Buffer]
copying a stream's internal data results in a shared buffer [in 34.2.1 Copying a Stream's Data Members]
data transfer supported by iostreams [in 27.2 How the Standard Iostreams Work]
example of JIS encoding [in 23.3.1.1 JIS Encoding]
[in 24.3.1 Common Uses of the C locale]
file I/O [in 27.4.1.5 The File Streams]
formatting program data [in 27.2 How the Standard Iostreams Work]
hierarchy of the transport layer [in 27.4.2 The Transport Layer's Internal Structure]
in-memory I/O [in 27.4.1.6 The String Streams]
input and output streams sharing buffer [in 34.3.3 Input and Output to the Same Stream]
input file stream using a file buffer [in 27.4.3 Collaboration of Streams and Stream Buffers]
input file stream using locales [in 27.4.4 Collaboration of Locales and Iostreams]
internal class hierarchy of the formatting layer [in 27.4.1 The Internal Structure of the Formatting Layer]
iostreams layers [in 27.2.1 The Iostream Layers]
[in 27.4 The Internal Structure of the Iostreams Layers]
Japanese sentence showing writing systems [in 23.3.1 Multibyte Encodings]
locale architecture [in 24.4 The Locale Object]
locale objects and shared stream buffers [in 34.3.2 Several Locales for the Same Stream]
map associating country codes and name mnemonics [in 26.5.2 Adding Country Codes]
map associating country codes with country names [in 26.5.2 Adding Country Codes]
multiple locales in C [in 24.3.1 Common Uses of the C locale]
multiple locales in C++ [in 24.3.1 Common Uses of the C locale]
parsing input from a multibyte file using the global C locale [in 24.3.1 Common Uses of the C locale]
phone_put facet and implementing facets [in 26.3 A Phone Number Formatting Facet Class]
replacing the numpunct<char> facet object [in 25.5 Modifying a Standard Facet's Behavior]
static array parray [in 26.9.2 Registration of a Callback Function]
streambuf class hierarchy [in 39.1.1 The streambuf Hierarchy]
streams sharing a file [in 35.1 Sharing Files Among Streams]
use of locales in iostreams [in 27.2.1.3 Locales]
file buffer, defined [in 27.4.1.5 The File Streams]
file conversion
automatic [in 30.4 Binary and Text Mode]
file descriptors [in 34.2.2 Sharing Stream Buffers Inadvertently]
[in 45.3.1 Connecting Files and Streams]
file I/O
defined [in 27.2.2 File and In-Memory I/O]
file position, defined [in 30.3.1.2 The Open modes ate, app, and trunc]
file positioning [in 30.5 File Positioning]
in iostream architecture [in 30.5 File Positioning]
file streams [in 27.4.1.5 The File Streams]
binary and text mode [in 30.4 Binary and Text Mode]
checking status [in 30.2.2 Checking a File Stream's Status]
closing [in 30.2.2 Checking a File Stream's Status]
creating and opening [in 30.2.1 Creating and Opening File Stream Objects]
file positioning operations [in 30.5 File Positioning]
open mode [in 30.3 The Open Mode]
[in 30.3 The Open Mode]
overview [in 30.1 About File Streams]
fill() [in 13.2.1 Fill a Sequence with An Initial Value]
fill_n() [in 13.2.1 Fill a Sequence with An Initial Value]
find() [in 12.2.9 Searching Operations]
[in 13.3.1 Find an Element Satisfying a Condition]
[in 13.3.3 Find the First Occurrence of Any Value from a Sequence]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
find_end() [in 13.3.5 Find the Last Occurrence of a Sub-Sequence]
find_first_not_of() [in 12.2.9 Searching Operations]
find_first_of() [in 12.2.9 Searching Operations]
find_if() [in 13.3.1 Find an Element Satisfying a Condition]
[in 13.3.3 Find the First Occurrence of Any Value from a Sequence]
find_last_not_of() [in 12.2.9 Searching Operations]
find_last_of() [in 12.2.9 Searching Operations]
flags
error categories of [in 29.1 About Flags]
format [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
open mode [in 30.3.1 The Open Mode Flags]
flip() [in 5.3 Boolean Vectors]
[in 8.4.3 Accessing and Testing Elements]
flush() [in 35.2.1 Output Streams]
format control [in 28.3 Format Control Using the Stream's Format State]
format flags [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
format parameters [in 28.3 Format Control Using the Stream's Format State]
arbitrary value [in 28.3.1.1 Parameters That Can Have an Arbitrary Value]
few values [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
irrelevant for extraction [in 28.5 Formatted Input]
format state variables [in 28.3.1 Format Parameters]
formats
alphabets [in 23.2.1 Language]
currency [in 23.2.3 Currency]
date and time [in 23.2.4 Time and Date]
numbers [in 23.2.2 Numbers]
ordering [in 23.2.5 Ordering]
phone numbers [in 26.1 An Example of Formatting Phone Numbers]
formatted input [in 28.5 Formatted Input]
formatting layer
defined [in 27.2.1.1 The Formatting Layer]
internal structure [in 27.4.1 The Internal Structure of the Formatting Layer]
formatting phone numbers example [in 26.1 An Example of Formatting Phone Numbers]
formatting, defined [in 27.2 How the Standard Iostreams Work]
forward iterators [in 2.2 Varieties of Iterators]
[in 2.2.3 Forward Iterators]
for_each() [in 13.8 The for_each() Algorithm]
[in 3.1 Functions]
front() [in 5.2.3 Subscripting a vector]
[in 6.2.6 Access and Iteration]
front_inserter() [in 2.4 Insert Iterators]
function adaptors
defined [in 3.4.1 Definition]
function objects [in 3.2.1 Definition]
and implemented operations [in 3.2.2.1 To Employ Existing C++ Standard Library Function Objects]
in place of functions [in 3.2.2 Use]
standard [in 3.2.2.1 To Employ Existing C++ Standard Library Function Objects]
to access or set state information [in 3.2.2.3 To Access or Set State Information]
to improve execution [in 3.2.2.2 To Improve Execution]
functions as arguments [in 3.1 Functions]
fundamental datatypes [in 21.2 Fundamental Datatypes]
future events [in 11.1 The priority queue Data Abstraction]

#### G

generate() [in 13.2.3 Initialize a Sequence with Generated Values]
generate_n() [in 13.2.3 Initialize a Sequence with Generated Values]
generators [in 13.2.3 Initialize a Sequence with Generated Values]
defined [in 3.2.2.3 To Access or Set State Information]
generic adaptor [in 16.2.2 Generic Inheritance]
generic algorithms
categories of [in 13.1 Overview]
include files [in 13.1.1 Include Files]
generic composition [in 16.2.3 Generic Composition]
[in 16.2.3 Generic Composition]
generic inheritance [in 16.2.1 Inheritance]
generic programming [in 16.1 Extending the C++ Standard Library]
get area, defined [in 39.1.1 The streambuf Hierarchy]
get() [in 27.4.1.4 The Input and Output Streams]
get_date() [in 32.4 Improved Extractors and Inserters]
global locale, snapshots [in 24.3.2 Common Uses of C++ Locales]
graph [in 4.4 Container Types Not Found in the C++ Standard Library]

#### H

handle-body idiom [in 24.4 The Locale Object]
hash table [in 4.4 Container Types Not Found in the C++ Standard Library]
has_facet [in 25.3 Accessing a Locale's Facets]
type required for [in 25.3 Accessing a Locale's Facets]
heap [in 11.2.1 Declaration and Initialization of priority queue]
defined [in 14.7 heap Operations]
operations [in 14.7 heap Operations]
heterogeneous collection [in 11.3 Example Program - Event-Driven Simulation]

#### I

ignore() [in 28.5.1 Skipping Characters]
imag() [in 20.2.2 Accessing Complex Number Values]
imbuing locales
new locale [in 42.2 When to Imbue a New Locale]
restrictions on [in 42.2 When to Imbue a New Locale]
imbuing streams [in 24.3.1 Common Uses of the C locale]
implicit synchronization
by tying streams [in 35.4 Implicit Synchronization by Tying Streams]
using the unitbuf flag [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
in()
return codes [in 40.4 Error Indication in Code Conversion Facets]
in-memory I/O [in 31.1 About String Streams]
defined [in 27.2.2 File and In-Memory I/O]
string streams [in 27.4.1.6 The String Streams]
in-memory parsing and formatting [in 31.1 About String Streams]
in-place transformations [in 13.4 In-Place Transformations]
includes() [in 14.6 set Operations]
[in 14.6 set Operations]
[in 8.2.7.1 Subset test]
indexing operator [in 25.3 Accessing a Locale's Facets]
inheritance [in 16.2.1 Inheritance]
initializating a base class [in 38.3 Construction and Initialization]
initialization algorithms [in 13.2 Initialization Algorithms]
copying [in 13.2.2 Copy One Sequence Into Another Sequence]
exchanging values [in 13.2.4 Swap Values from Two Parallel Ranges]
fixed value [in 13.2.1 Fill a Sequence with An Initial Value]
generated values [in 13.2.3 Initialize a Sequence with Generated Values]
inner_product() [in 13.6.3 Generalized Inner Product]
inplace_merge() [in 13.4.6 Merge Two Adjacent Sequences into One]
[in 14.5 Merge Ordered Sequences]
input and output streams [in 27.4.1.3 Character Traits]
input iterators [in 2.2 Varieties of Iterators]
[in 2.2.1 Input Iterators]
container iterators [in 2.2.1.1 Kinds of Input Iterators]
example [in 2.2.1 Input Iterators]
input streams iterators [in 2.2.1.1 Kinds of Input Iterators]
ordinary pointers [in 2.2.1.1 Kinds of Input Iterators]
input of strings [in 28.5.2 Input of Strings]
input streams iterators [in 2.2.1.1 Kinds of Input Iterators]
[in 2.2.1.1 Kinds of Input Iterators]
input streams
synch() function [in 35.2.2 Input Streams]
insert iterators [in 13.2.1 Fill a Sequence with An Initial Value]
[in 13.2.2 Copy One Sequence Into Another Sequence]
[in 13.7 Sequence-Generating Algorithms]
[in 2.4 Insert Iterators]
insert() [in 12.2.6 Insertion, Removal, and Replacement]
[in 5.2.5 Inserting and Removing Elements]
[in 6.2.3 Placing Elements into a list]
[in 8.2.3 Insertion]
[in 9.2.3 Insertion and Access]
inserter() [in 2.4 Insert Iterators]
inserters and extractors
complexity of [in 32.5.2 An Afterthought]
recommended functionality [in 32.5 More Improved Extractors and Inserters]
inserters [in 27.4.1.4 The Input and Output Streams]
[in 28.2 Input and Output Operators]
[in 32.3 A Simple Extractor and Inserter for the Example]
example with recommended functionality [in 32.5.1 Applying the Recommendations to the Example]
for date objects in stream storage [in 36.3 Another Look at the Date Format String]
pattern for user-defined types [in 32.6 Patterns for Extractors and Inserters of User-Defined Types]
internationalization [in 45.2 Internationalization]
defined [in 23.1 Defining the Terms]
C++ Standard Library features [in 23.4 Summary]
ios, not a class in standard [in 27.4.1.2 The Iostreams Character Type-Dependent Base Class]
iostream class [in 27.4.1.4 The Input and Output Streams]
iostreams
Standard C Library [in 27.1 The Standard Iostreams]
standard vs. Apache C++ Standard Library [in 46.1 Extensions]
standard vs. traditional [in 45.1 The Character Type]
ios_base [in 27.4.1 The Internal Structure of the Formatting Layer]
:badbit [in 29.1 About Flags]
:eofbit [in 29.1 About Flags]
:failbit [in 29.1 About Flags]
[in 29.1 About Flags]
:goodbit [in 29.1 About Flags]
:iword() [in 36.2 An Example - Storing a Date Format String]
[in 36.3 Another Look at the Date Format String]
:openmode [in 30.3.1 The Open Mode Flags]
:pword() [in 36.2 An Example - Storing a Date Format String]
[in 36.3 Another Look at the Date Format String]
:xalloc() [in 36.2 An Example - Storing a Date Format String]
parray [in 26.9.2 Registration of a Callback Function]
iotaGen [in 13.2.3 Initialize a Sequence with Generated Values]
[in 3.2.2.3 To Access or Set State Information]
istream [in 27.4.1.4 The Input and Output Streams]
istream_iterator [in 2.3.1 Input Stream Iterators]
istrstream
deprecated [in 27.4.1 The Internal Structure of the Formatting Layer]
[in 45.4 String Streams]
is_open() [in 30.2.2 Checking a File Stream's Status]
iterators [in 16.3.3 Iterator Requirements]
bidirectional [in 2.2 Varieties of Iterators]
[in 2.2 Varieties of Iterators]
[in 2.2.4 Bidirectional Iterators]
[in 2.2.4 Bidirectional Iterators]
constant [in 2.2 Varieties of Iterators]
[in 2.2 Varieties of Iterators]
define ranges [in 2.1 Introduction to Iterators]
defined [in 2.1 Introduction to Iterators]
forms of [in 2.2 Varieties of Iterators]
forward [in 2.2 Varieties of Iterators]
[in 2.2.3 Forward Iterators]
[in 2.2.3 Forward Iterators]
functions for manipulating [in 2.5 Iterator Operations]
input [in 2.2 Varieties of Iterators]
[in 2.2.1 Input Iterators]
insert [in 13.2.2 Copy One Sequence Into Another Sequence]
[in 2.4 Insert Iterators]
[in 2.4 Insert Iterators]
iterator requirements [in 16.3.3 Iterator Requirements]
output stream [in 2.3.2 Output Stream Iterators]
output [in 2.2 Varieties of Iterators]
[in 2.2.2 Output Iterators]
pairs of [in 2.1 Introduction to Iterators]
random access [in 2.2 Varieties of Iterators]
[in 2.2 Varieties of Iterators]
[in 2.2.5 Random Access Iterators]
[in 2.2.5 Random Access Iterators]
range [in 2.1 Introduction to Iterators]
reachable [in 2.1 Introduction to Iterators]
reverse [in 2.2.6 Reverse Iterators]
stream [in 2.3 Stream Iterators]
iterator_category
primitive [in 16.4.1 The iterator_traits Template]
iterator_traits template [in 16.4 Tips and Techniques for Building Algorithms]
iter_swap() [in 13.2.4 Swap Values from Two Parallel Ranges]
iword() [in 36.2 An Example - Storing a Date Format String]
[in 36.3 Another Look at the Date Format String]

#### J

Japanese encodings [in 23.3.1 Multibyte Encodings]
Japanese Industrial Standard (JIS) encoding [in 23.3.1.1 JIS Encoding]
Japanese sentence example [in 23.3.1 Multibyte Encodings]
JIS encoding example [in 23.3.1.1 JIS Encoding]

#### K

key_comp() [in 9.2.7 Element Comparisons]

#### L

LC_COLLATE [in 24.2.1.1 The Standard Facets]
LC_CTYPE [in 24.2.1.1 The Standard Facets]
LC_MESSAGES [in 24.2.1.1 The Standard Facets]
LC_MONETARY [in 24.2.1.1 The Standard Facets]
LC_NUMERIC [in 24.2.1.1 The Standard Facets]
LC_TIME [in 24.2.1.1 The Standard Facets]
length() [in 12.2.2 Resetting Size and Capacity]
lexical comparison
defined [in 13.6.5 Lexical Comparison]
lexicographical_compare() [in 13.6.5 Lexical Comparison]
list operations example [in 6.3 Example Program - An Inventory System]
list
declaring and initializing [in 6.2.1 Declaration and Initialization of lists]
defined [in 6.1 The list Data Abstraction]
example [in 6.3 Example Program - An Inventory System]
include file [in 6.1.1 Include files]
operations for [in 6.2 list Operations]
type definitions for [in 6.2.2 Type Definitions]
locale objects [in 24.4 The Locale Object]
building by composition [in 24.4 The Locale Object]
constructing as a copy [in 24.4 The Locale Object]
copying is cheap [in 24.4 The Locale Object]
immutability of [in 24.4 The Locale Object]
like container or map [in 25.3 Accessing a Locale's Facets]
locale
:locale() [in 24.3.2 Common Uses of C++ Locales]
and iostreams [in 27.4.3 Collaboration of Streams and Stream Buffers]
and the formatting and transport layers [in 27.2.1.3 Locales]
constructors of the class [in 24.4 The Locale Object]
differences between C and C++ [in 24.3 Differences between the C Locale and the C++ Locales]
functions of the class [in 24.4 The Locale Object]
global, snapshots [in 24.3.2 Common Uses of C++ Locales]
in C [in 24.1 The C Locale]
[in 24.1 The C Locale]
use with iostreams [in 42.1 Locales and Iostreams]
when to imbue new locale [in 42.2 When to Imbue a New Locale]
localization
alphabet [in 23.2.1 Language]
character encodings [in 23.3 Character Encodings for Localizing Alphabets]
collating sequence [in 23.2.5 Ordering]
currency [in 23.2.2 Numbers]
defined [in 23.1 Defining the Terms]
language [in 23.2.1 Language]
numbers [in 23.2.2 Numbers]
ordering [in 23.2.4 Time and Date]
time and date [in 23.2.3 Currency]
using stream's locale [in 28.4 Localization Using the Stream's Locale]
locking mechanism
for multithreading [in 44.2 The Locking Mechanism]
protecting the buffer [in 44.2.1 Protecting the Buffer]
logic errors [in 18.1 Overview]
logic_error [in 18.2 The Standard Exception Hierarchy]
lower_bound() [in 14.4 Binary Search]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]

#### M

make_heap() [in 14.7 heap Operations]
managing data storage [in 15.1 Overview]
Manip(x)
as call to function object [in 33.3.2 The Principle of Manipulators with Parameters]
as constructor call [in 33.3.2 The Principle of Manipulators with Parameters]
as function call [in 33.3.2 The Principle of Manipulators with Parameters]
manipT [in 33.3.2 The Principle of Manipulators with Parameters]
defined [in 33.1 A Recap of Manipulators]
manipulator extractor [in 33.1 A Recap of Manipulators]
manipulator, date format string [in 36.3 Another Look at the Date Format String]
manipulator, date storage string
who owns it [in 36.4 Caveat]
manipulators with parameters
defined [in 33.3.2 The Principle of Manipulators with Parameters]
example using function object and static member function [in 33.3.3 Examples of Manipulators with Parameters]
example using function object and virtual member function [in 33.3.3 Examples of Manipulators with Parameters]
example using function pointer and global function [in 33.3.3 Examples of Manipulators with Parameters]
example using unnamed object and static member function [in 33.3.3 Examples of Manipulators with Parameters]
example using unnamed Object and virtual member function [in 33.3.3 Examples of Manipulators with Parameters]
examples of [in 33.3.2 The Principle of Manipulators with Parameters]
implementation techniques [in 33.3.2 The Principle of Manipulators with Parameters]
[in 33.3.3 Examples of Manipulators with Parameters]
manipulators without parameters
boolalpha [in 33.2.1 Examples of Manipulators without Parameters]
endl [in 33.2.1 Examples of Manipulators without Parameters]
general [in 33.2.1 Examples of Manipulators without Parameters]
manipulators [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
manipulators, base type allowing output stream references [in 33.3.3 Examples of Manipulators with Parameters]
function object for [in 33.3.3 Examples of Manipulators with Parameters]
inserter for [in 33.3.3 Examples of Manipulators with Parameters]
manipulators, implementation techniques
choosing associated functions [in 33.3.2 The Principle of Manipulators with Parameters]
[in 33.3.2 The Principle of Manipulators with Parameters]
comparison [in 33.3.2 The Principle of Manipulators with Parameters]
solutions for Manip(X) [in 33.3.2 The Principle of Manipulators with Parameters]
manipulators
abstract type differs from smanip [in 33.3.3 Examples of Manipulators with Parameters]
abstract type [in 33.3.3 Examples of Manipulators with Parameters]
advantages of associating virtual member functions [in 33.3.3 Examples of Manipulators with Parameters]
defined [in 28.3.2 Manipulators]
derived from smanip [in 33.3.3 Examples of Manipulators with Parameters]
extractors for input streams [in 33.2 Manipulators without Parameters]
extractors for output streams [in 33.2 Manipulators without Parameters]
for output streams [in 33.3.3 Examples of Manipulators with Parameters]
function pointer types [in 33.2 Manipulators without Parameters]
input and output streams [in 33.2.1 Examples of Manipulators without Parameters]
inserter for abstract type [in 33.3.3 Examples of Manipulators with Parameters]
operation of [in 28.3.2 Manipulators]
output manipulator that inserts a certain string [in 33.3.3 Examples of Manipulators with Parameters]
output streams [in 33.2.1 Examples of Manipulators without Parameters]
summary [in 33.1 A Recap of Manipulators]
that store additional data [in 33.3.3 Examples of Manipulators with Parameters]
type requirements [in 33.1 A Recap of Manipulators]
without parameters [in 33.2 Manipulators without Parameters]
map
comparing elements [in 9.2.7 Element Comparisons]
declaring and initializing [in 9.2.1 Declaration and Initialization of map]
defined [in 9.1 The map Data Abstraction]
example [in 9.3.1 Example - A Telephone Database]
[in 9.3.2 An Example - Graphs]
[in 9.3.3 Example - A Concordance]
include file [in 9.1.1 Include files]
insertion and access [in 9.2.3 Insertion and Access]
iterators for [in 9.2.5 Iterators]
removing values from [in 9.2.4 Removal of Values]
searching and counting [in 9.2.6 Searching and Counting]
type definitions for [in 9.2.2 Type Definitions]
max() [in 13.3.6 Locate Maximum or Minimum Element]
max_element() [in 13.3.6 Locate Maximum or Minimum Element]
max_size() [in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
memory management [in 4.3 Memory Management Issues]
mem_fun [in 3.4.3 Adapting Member Functions]
merge ordered sequences algorithm [in 14.5 Merge Ordered Sequences]
merge() [in 13.4.6 Merge Two Adjacent Sequences into One]
[in 14.5 Merge Ordered Sequences]
[in 6.2.3.1 Splicing]
merge
defined [in 13.4.6 Merge Two Adjacent Sequences into One]
messages class [in 24.2.1.1 The Standard Facets]
messages<> [in 24.2.1.1 The Standard Facets]
min() [in 13.3.6 Locate Maximum or Minimum Element]
min_element() [in 13.3.6 Locate Maximum or Minimum Element]
mismatch() [in 13.3.7 Locate the First Mismatched Elements in Parallel Sequences]
[in 13.6.4 Test Two Sequences for Pairwise Equality]
monetary classes [in 24.2.1.1 The Standard Facets]
moneypunct<> [in 24.2.1.1 The Standard Facets]
money_get<> [in 24.2.1.1 The Standard Facets]
money_put<> [in 24.2.1.1 The Standard Facets]
multibyte character encodings [in 23.3.1 Multibyte Encodings]
uses of [in 23.3.1.4 Uses of the Three Multibyte Encodings]
multibyte characters, converting to wide [in 23.3.2 Wide Characters]
multidimensional array [in 4.4 Container Types Not Found in the C++ Standard Library]
multimap
comparing elements [in 9.2.7 Element Comparisons]
defined [in 9.1 The map Data Abstraction]
example [in 9.3.3 Example - A Concordance]
include file [in 9.1.1 Include files]
insertion and access [in 9.2.3 Insertion and Access]
iterators for [in 9.2.5 Iterators]
removing values from [in 9.2.4 Removal of Values]
searching and counting [in 9.2.6 Searching and Counting]
type definitions for [in 9.2.2 Type Definitions]
multiset
defined [in 8.1 The set Data Abstraction]
include file [in 8.1.1 Include Files]
inserting into [in 8.2.3 Insertion]
iterators for [in 8.2.6 Iterators]
operations for [in 8.2 set and multiset Operations]
[in 8.2.7 set Operations]
removing elements from [in 8.2.4 Removal of Elements from a set]
searching and counting elements [in 8.2.5 Searching and Counting]
type definitions for [in 8.2.2 Type Definitions]
union and intersection [in 8.2.7.2 Set Union or Intersection]
Multithread-Safe
Level 2 [in 44.1 Multithread-Safe - Level 2]
multithreading
defining Multithread-Safe, Level 2 [in 44.1 Multithread-Safe - Level 2]
locking mechanism [in 44.2 The Locking Mechanism]
mutex objects [in 44.2 The Locking Mechanism]

#### N

Native Language Support (NLS) [in 24.1 The C Locale]
negators
defined [in 3.5 Negators and Binders]
new operator [in 4.3 Memory Management Issues]
new
facet object creation [in 25.2 Facet Lifetimes]
next_permutation() [in 13.4.5 Generate Permutations in Sequence]
NLS [in 24.1 The C Locale]
none() [in 8.4.3 Accessing and Testing Elements]
norm() [in 20.2.6 Norm and Absolute Value]
noskipws [in 28.5.1 Skipping Characters]
nth element algorithm [in 14.3 nth Element]
nth_element() [in 14.3 nth Element]
null pointers [in 2.1 Introduction to Iterators]
numeric classes [in 24.2.1.1 The Standard Facets]
numeric_limits [in 21.1 Overview]
common members [in 21.3.1 Members Common to All Types]
floating point members [in 21.3.2 Members Specific to Floating Point Values]
members [in 21.3 numeric_limits Members]
numpunct facet interface [in 25.5 Modifying a Standard Facet's Behavior]
numpunct<> [in 24.2.1.1 The Standard Facets]
num_get<> [in 24.2.1.1 The Standard Facets]
num_put<> [in 24.2.1.1 The Standard Facets]

#### O

online documentation
location [in 1.4.1 Locations of Online Documentation]
open mode
binary [in 30.4 Binary and Text Mode]
flags [in 30.3.1 The Open Mode Flags]
overview [in 30.3 The Open Mode]
open modes
ate, app, and trunc [in 30.3.1.1 The in and out Open Modes]
binary [in 30.3.1.2 The Open modes ate, app, and trunc]
[in 30.4 Binary and Text Mode]
combining [in 30.3.2 Combining Open Modes]
default [in 30.3.3 Default Open Modes]
for string streams [in 31.3 The Open Modes]
in and out [in 30.3.1.1 The in and out Open Modes]
open() [in 27.4.2.2 The File Buffer]
operator new [in 4.3 Memory Management Issues]
operator>>() [in 27.4.1.4 The Input and Output Streams]
[in 28.2 Input and Output Operators]
operator<<() [in 27.4.1.4 The Input and Output Streams]
[in 28.2 Input and Output Operators]
ordered collection algorithms [in 14.1 Overview]
include files [in 14.1.1 Include Files]
ordered sequence
defined [in 14.1 Overview]
ordinary pointers [in 2.2.1.1 Kinds of Input Iterators]
ostream [in 27.4.1.4 The Input and Output Streams]
ostream_iterator [in 2.3.2 Output Stream Iterators]
ostrstream
deprecated [in 27.4.1 The Internal Structure of the Formatting Layer]
[in 45.4 String Streams]
out()
return codes [in 40.4 Error Indication in Code Conversion Facets]
output iterators [in 2.2 Varieties of Iterators]
[in 2.2.2 Output Iterators]
output stream iterators [in 2.3.2 Output Stream Iterators]
output streams
flush() function [in 35.2.1 Output Streams]
out|trunc [in 30.3.1.2 The Open modes ate, app, and trunc]
overflow() area, defined [in 39.1.1 The streambuf Hierarchy]
overflow() [in 27.4.2.1 The Stream Buffer]

#### P

pairwise equality [in 13.6.4 Test Two Sequences for Pairwise Equality]
partial sort algorithm [in 14.2.1 Partial Sort]
partial sum
defined [in 13.7.2 Partial Sums]
partial_sort() [in 14.2.1 Partial Sort]
partial_sort_copy() [in 14.2.1 Partial Sort]
partial_sum() [in 13.7.2 Partial Sums]
partition() [in 13.4.4 Partition a Sequence into Two Groups]
performance issues
dynamic casts and exception handling [in 38.4.3 The Manipulator]
permutation
defined [in 13.4.5 Generate Permutations in Sequence]
phase angle
complex [in 20.2.6 Norm and Absolute Value]
phoneNo [in 26.2 A Phone Number Class]
phone_put [in 26.3 A Phone Number Formatting Facet Class]
pointers
as container values [in 11.3 Example Program - Event-Driven Simulation]
[in 4.3 Memory Management Issues]
null [in 2.1 Introduction to Iterators]
pointer_to_binary_function [in 3.4.2 Adapting Non-member or Static Member Functions]
pointer_to_unary_function [in 3.4.2 Adapting Non-member or Static Member Functions]
polar() [in 20.2.1 Declaring Complex Numbers]
pop() [in 10.2 The stack Data Abstraction]
[in 11.2 The priority queue Operations]
pop_back() [in 5.2.5 Inserting and Removing Elements]
pop_heap() [in 14.7 heap Operations]
predefined streams [in 28.1 The Predefined Streams]
are synchronous streams [in 35.5 Synchronizing the Standard Iostream Objects]
input and output [in 28.2 Input and Output Operators]
predicates
defined [in 3.3 Predicates]
prev_permutation() [in 13.4.5 Generate Permutations in Sequence]
primitive caching [in 26.9 Improving the Inserter Function]
primitives [in 16.4.1 The iterator_traits Template]
priority queue [in 9.3.2 An Example - Graphs]
underlying container [in 11.2.1 Declaration and Initialization of priority queue]
declaring and initializing [in 11.2.1 Declaration and Initialization of priority queue]
defined [in 11.1 The priority queue Data Abstraction]
example [in 11.3 Example Program - Event-Driven Simulation]
include file [in 11.1.1 Include Files]
operations for [in 11.2 The priority queue Operations]
pubsync() [in 35.2 Explicit Synchronization]
push(newElement) [in 10.2 The stack Data Abstraction]
push(T) [in 11.2 The priority queue Operations]
push_back() [in 14.7 heap Operations]
[in 5.2.5 Inserting and Removing Elements]
[in 6.2.3 Placing Elements into a list]
push_front() [in 6.2.3 Placing Elements into a list]
push_heap() [in 14.7 heap Operations]
put area, defined [in 39.1.1 The streambuf Hierarchy]
put() [in 27.4.1.4 The Input and Output Streams]
[in 32.4 Improved Extractors and Inserters]
pword() [in 36.2 An Example - Storing a Date Format String]
[in 36.3 Another Look at the Date Format String]

#### Q

queue
declaring and initializing [in 10.3.2 Declaration and Initialization of queue]
defined [in 10.1 Overview]
[in 10.3 The queue Data Abstraction]
example program [in 10.3.3 Example Program - Bank Teller Simulation]
include file [in 10.3.1 Include Files]
operations for [in 10.3 The queue Data Abstraction]

#### R

radix character [in 23.2.2 Numbers]
radix sort [in 7.3 Example Program - Radix Sort]
random access iterators [in 2.2 Varieties of Iterators]
[in 2.2 Varieties of Iterators]
[in 2.2.5 Random Access Iterators]
random number generators [in 3.2.2.3 To Access or Set State Information]
randomInteger() [in 11.3.1 Example Program - An Ice Cream Store Simulation]
[in 2.2.5 Random Access Iterators]
random_shuffle() [in 13.4.7 Randomly Rearrange Elements in a Sequence]
rbegin() [in 5.2.6 Iteration]
[in 8.2.6 Iterators]
[in 9.2.5 Iterators]
rdbuf() [in 34.2.1 Copying a Stream's Data Members]
[in 34.2.2 Sharing Stream Buffers Inadvertently]
[in 34.3.3 Input and Output to the Same Stream]
[in 34.4 Copies of the Stream Buffer]
reachable iterators [in 2.1 Introduction to Iterators]
real() [in 20.2.2 Accessing Complex Number Values]
reference counting [in 24.4 The Locale Object]
registration of callback functions [in 26.9.1 Primitive Caching]
[in 37.2 An Example]
removal algorithms [in 13.5 Removal Algorithms]
for runs of similar values [in 13.5.2 Remove Runs of Similar Values]
for unwanted elements [in 13.5.1 Remove Unwanted Elements]
remove() [in 12.2.6 Insertion, Removal, and Replacement]
[in 13.5.1 Remove Unwanted Elements]
[in 6.2.4 Removing Elements]
remove_copy() [in 13.5.1 Remove Unwanted Elements]
remove_copy_if() [in 13.5.1 Remove Unwanted Elements]
remove_if() [in 13.5.1 Remove Unwanted Elements]
[in 6.2.4 Removing Elements]
rend() [in 5.2.6 Iteration]
[in 8.2.6 Iterators]
[in 9.2.5 Iterators]
replace() [in 13.4.2 Replace Certain Elements With Fixed Value]
replace_copy() [in 13.4.2 Replace Certain Elements With Fixed Value]
replace_copy_if() [in 13.4.2 Replace Certain Elements With Fixed Value]
replace_if() [in 13.4.2 Replace Certain Elements With Fixed Value]
replacing a facet [in 25.5 Modifying a Standard Facet's Behavior]
reserve() [in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
reset() [in 8.4.3 Accessing and Testing Elements]
resize() [in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
[in 6.2.5 Extent and Size-Changing Operations]
restrictions
imbuing locales [in 42.2 When to Imbue a New Locale]
on connecting streambuf objects [in 39.3 Connecting iostream and streambuf Objects]
on standard iostreams [in 27.3 How the Standard Iostreams Help Solve Problems]
user-defined types [in 41.1.1 Requirements for User-Defined Character Types]
return codes, in and out functions [in 40.4 Error Indication in Code Conversion Facets]
reverse iterators [in 2.2.6 Reverse Iterators]
reverse() [in 13.4.1 Reverse Elements in a Sequence]
[in 6.2.10 In-Place Transformations]
reverse_copy() [in 2.2.4 Bidirectional Iterators]
rfind() [in 12.2.9 Searching Operations]
rotate() [in 13.4.3 Rotate Elements Around a Midpoint]
rotation
defined [in 13.4.3 Rotate Elements Around a Midpoint]
runtime errors [in 18.1 Overview]
runtime-type identification (RTTI) [in 38.5 Using iword/pword for RTTI in Derived Streams]
runtime_error [in 18.2 The Standard Exception Hierarchy]

#### S

safety
in connecting iostreams and streambufs [in 39.3 Connecting iostream and streambuf Objects]
scalar-producing algorithms
counting elements that satisfy conditions [in 13.6.1 Count the Number of Elements That Satisfy a Condition]
defined [in 13.6 Scalar-Producing Algorithms]
for computing an inner product [in 13.6.3 Generalized Inner Product]
reducing to single values [in 13.6.1 Count the Number of Elements That Satisfy a Condition]
[in 13.6.2 Reduce Sequence to a Single Value]
testing for pairwise equality [in 13.6.4 Test Two Sequences for Pairwise Equality]
Schonfinkel, Moses [in 3.5 Negators and Binders]
search() [in 13.3.4 Find a Sub-Sequence within a Sequence]
[in 13.3.4 Find a Sub-Sequence within a Sequence]
searching algorithms [in 13.3 Searching Operations]
for a sub-sequence [in 13.3.4 Find a Sub-Sequence within a Sequence]
for consecutive duplicate elements [in 13.3.1 Find an Element Satisfying a Condition]
[in 13.3.2 Find Consecutive Duplicate Elements]
for elements satisfying conditions [in 13.3.1 Find an Element Satisfying a Condition]
for first occurences [in 13.3.3 Find the First Occurrence of Any Value from a Sequence]
for maximum or minimum element [in 13.3.6 Locate Maximum or Minimum Element]
for mismatched elements [in 13.3.6 Locate Maximum or Minimum Element]
[in 13.3.7 Locate the First Mismatched Elements in Parallel Sequences]
for the last occurrence [in 13.3.5 Find the Last Occurrence of a Sub-Sequence]
seek functions
for ifstream [in 30.5 File Positioning]
for iostream classes [in 30.5.1 How Positioning Works with the Iostream Architecture]
for ofstream [in 30.5 File Positioning]
seekp [in 30.5 File Positioning]
sequence generators [in 3.2.2.3 To Access or Set State Information]
sequence [in 16.1 Extending the C++ Standard Library]
sequence-generating algorithms [in 13.7 Sequence-Generating Algorithms]
for adjacent differences [in 13.7.3 Adjacent Differences]
for partial sums [in 13.7.2 Partial Sums]
transform [in 13.7.1 Transform One or Two Sequences]
set operations algorithms [in 14.6 set Operations]
set [in 4.4 Container Types Not Found in the C++ Standard Library]
[in 8.1 The set Data Abstraction]
set() [in 8.4.3 Accessing and Testing Elements]
set
declaring and initializing [in 8.2.1 Declaration and Initialization of set]
defined [in 8.1 The set Data Abstraction]
difference [in 8.2.7.3 Set Difference]
example [in 8.3 Example Program - A Spelling Checker]
generic algorithms for [in 8.2.8 Other Generic Algorithms]
inserting into [in 8.2.3 Insertion]
operations for [in 8.2 set and multiset Operations]
[in 8.2.7 set Operations]
removing elements from [in 8.2.4 Removal of Elements from a set]
searching and counting elements [in 8.2.5 Searching and Counting]
subset test [in 8.2.7.1 Subset test]
type definitions for [in 8.2.2 Type Definitions]
union and intersection [in 8.2.7.2 Set Union or Intersection]
setw [in 28.3.2 Manipulators]
set_difference() [in 14.6 set Operations]
[in 14.6 set Operations]
[in 8.2.7.3 Set Difference]
set_intersection() [in 14.6 set Operations]
[in 14.6 set Operations]
[in 8.2.7.2 Set Union or Intersection]
set_symmetric_difference() [in 14.6 set Operations]
[in 14.6 set Operations]
[in 8.2.7.3 Set Difference]
set_union() [in 14.5 Merge Ordered Sequences]
[in 14.6 set Operations]
[in 8.2.7.2 Set Union or Intersection]
shallow copy [in 4.3 Memory Management Issues]
shift operators, defined [in 28.2 Input and Output Operators]
shift sequences [in 23.3.1.1 JIS Encoding]
shift state [in 23.3.1.1 JIS Encoding]
maintaining in C locale [in 24.3.1 Common Uses of the C locale]
Shift-JIS encoding [in 23.3.1.1 JIS Encoding]
sieve of Eratosthenes [in 5.4 Example Program - The Sieve of Eratosthenes]
simulation framework example [in 11.3.1 Example Program - An Ice Cream Store Simulation]
simulation programs [in 11.1 The priority queue Data Abstraction]
size() [in 10.2 The stack Data Abstraction]
[in 11.2 The priority queue Operations]
[in 12.2.2 Resetting Size and Capacity]
[in 5.2.4 Extent and Size-Changing Operations]
[in 6.2.5 Extent and Size-Changing Operations]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
skipping characters [in 28.5 Formatted Input]
smanip class template [in 33.3.1 The Standard Manipulators]
snapshots, current global locale [in 24.3.2 Common Uses of C++ Locales]
sort() [in 14.2 Sorting Algorithms]
sorting algorithms [in 14.2 Sorting Algorithms]
partial sort [in 14.2.1 Partial Sort]
sort_heap() [in 14.7 heap Operations]
sparse array [in 4.4 Container Types Not Found in the C++ Standard Library]
splice() [in 6.2.3.1 Splicing]
stable_partition() [in 13.4.4 Partition a Sequence into Two Groups]
stable_sort() [in 14.2 Sorting Algorithms]
stack
defined [in 10.1 Overview]
[in 10.1 Overview]
example [in 10.2.3 Example Program - An RPN Calculator]
include file [in 10.2.1 Include Files]
C++ Standard Library
components [in 1.2.1 Components]
internationalization features [in 23.4 Summary]
standard facet classes [in 24.2.1.1 The Standard Facets]
collate [in 24.2.1.1 The Standard Facets]
ctype [in 24.2.1.1 The Standard Facets]
messages [in 24.2.1.1 The Standard Facets]
monetary [in 24.2.1.1 The Standard Facets]
numeric [in 24.2.1.1 The Standard Facets]
time [in 24.2.1.1 The Standard Facets]
standard facets [in 25.1 Understanding Facet Types]
defined as templates [in 25.1 Understanding Facet Types]
modifying behavior [in 25.5 Modifying a Standard Facet's Behavior]
protected destructors [in 25.2 Facet Lifetimes]
standard iostreams changes
connecting files and streams [in 45.3.1 Connecting Files and Streams]
file buffer [in 45.3.2 The File Buffer]
internationalization [in 45.2 Internationalization]
string streams [in 45.4 String Streams]
templatized types [in 45.1 The Character Type]
standard iostreams, differences of this implementation [in 46.1 Extensions]
file descriptors [in 46.1.1 File Descriptors]
multithreading [in 46.1.2 Multithreaded Environments]
standard iostreams
defined [in 27.1 The Standard Iostreams]
deprecated features [in 27.4.1 The Internal Structure of the Formatting Layer]
[in 45.4 String Streams]
differ from traditional [in 45.1 The Character Type]
extending iostreams [in 27.3 How the Standard Iostreams Help Solve Problems]
formatting layer [in 27.4.1 The Internal Structure of the Formatting Layer]
formatting options [in 28.2 Input and Output Operators]
how they work [in 27.2 How the Standard Iostreams Work]
layers of [in 27.2.1 The Iostream Layers]
[in 27.4 The Internal Structure of the Iostreams Layers]
transport layer [in 27.4.2 The Transport Layer's Internal Structure]
used for binary I/O [in 27.3 How the Standard Iostreams Help Solve Problems]
used for file I/O [in 27.3 How the Standard Iostreams Help Solve Problems]
used for in-memory I/O [in 27.3 How the Standard Iostreams Help Solve Problems]
used for internationalized text processing [in 27.3 How the Standard Iostreams Help Solve Problems]
when to use [in 27.3 How the Standard Iostreams Help Solve Problems]
standard streams, predefined [in 28.1 The Predefined Streams]
Standard Template Library [in 1.2.1 Components]
stdio
compared with standard iostreams [in 27.1.1 Type Safety]
defined [in 27.1 The Standard Iostreams]
stream buffer classes [in 27.4.2 The Transport Layer's Internal Structure]
abstract stream buffer [in 27.4.2.1 The Stream Buffer]
file buffer [in 27.4.2.2 The File Buffer]
string stream buffer [in 27.4.2.2 The File Buffer]
stream buffers => See streambuf
stream buffers, when to share
for I/O to same stream [in 34.3.3 Input and Output to the Same Stream]
for several format settings for same stream [in 34.3.1 Several Format Settings for the Same Stream]
for several locales for same stream [in 34.3.2 Several Locales for the Same Stream]
stream buffers
copies for processing files [in 34.4 Copies of the Stream Buffer]
deriving new [in 39.2 Deriving New Stream Buffer Classes]
get area [in 39.1.1 The streambuf Hierarchy]
inadvertent sharing [in 34.2.2 Sharing Stream Buffers Inadvertently]
overflow() function [in 39.1.1 The streambuf Hierarchy]
problems of sharing [in 34.2.2 Sharing Stream Buffers Inadvertently]
put area [in 39.1.1 The streambuf Hierarchy]
seeking operations [in 39.1.1 The streambuf Hierarchy]
setting locale [in 34.3.2 Several Locales for the Same Stream]
sync operation [in 39.1.1 The streambuf Hierarchy]
three kinds [in 39.1.1 The streambuf Hierarchy]
stream class, deriving new
choosing a base class [in 38.2 Choosing a Base Class]
choosing base class [in 38.2 Choosing a Base Class]
date inserter [in 38.4.2 The Date Inserter]
example code [in 38.4.1 The Derived Stream Template]
from file stream or string stream [in 38.3.1 Derivation from File Stream or String Stream Classes std -:{i,o}fstream or std::{i,o}stringstream]
from stream classes [in 38.3.1 Derivation from File Stream or String Stream Classes std -:{i,o}fstream or std::{i,o}stringstream]
initializing the base class [in 38.3 Construction and Initialization]
manipulator [in 38.4.3 The Manipulator]
overview [in 38.1 Deriving a New Stream Type]
performance issues [in 38.4.4 A Remark on Performance]
providing stream buffer [in 38.3.2 Derivation from the Stream Classes std -:basic_{i,o}stream]
using iword/pword [in 38.5 Using iword/pword for RTTI in Derived Streams]
stream classes hierarchy [in 27.4.1 The Internal Structure of the Formatting Layer]
stream classes
base class [in 27.4.1.1 Iostreams Base Class ios_base]
basic_ios<> [in 27.4.1.2 The Iostreams Character Type-Dependent Base Class]
character traits [in 27.4.1.3 Character Traits]
file streams [in 27.4.1.5 The File Streams]
formatting layer [in 27.4.1 The Internal Structure of the Formatting Layer]
input and output streams [in 27.4.1.3 Character Traits]
internal structure [in 27.4.1 The Internal Structure of the Formatting Layer]
string streams [in 27.4.1.6 The String Streams]
type-dependent base class [in 27.4.1.2 The Iostreams Character Type-Dependent Base Class]
type-independent base class [in 27.4.1.1 Iostreams Base Class ios_base]
virtual base class [in 27.4.1.2 The Iostreams Character Type-Dependent Base Class]
stream errors
catching exceptions [in 29.3 Catching Exceptions]
checking for errors [in 29.2 Checking the Stream State]
stream iterator [in 2.3 Stream Iterators]
stream iterators
defined [in 43.1 Definition]
differ from container iterators [in 43.2 Differences between Stream Iterators and Container Iterators]
error indication [in 43.3 Error Indication by Stream Iterators]
several on one stream [in 43.4 Several Iterators on One Stream]
stream objects
can't be copied or assigned to each other [in 34.2 Copying and Assigning Stream Objects]
copying data causes shared buffer [in 34.2.1 Copying a Stream's Data Members]
copying data means copying behavior [in 34.2.2 Sharing Stream Buffers Inadvertently]
copying data members [in 34.2.1 Copying a Stream's Data Members]
file descriptors for copying data [in 34.2.2 Sharing Stream Buffers Inadvertently]
pointers instead of copies [in 34.2.3 Using Pointers or References to Streams]
references and pointers better than copies [in 34.2.3 Using Pointers or References to Streams]
references instead of copies [in 34.2.3 Using Pointers or References to Streams]
restrictions on copying [in 34.2 Copying and Assigning Stream Objects]
separate file buffer object for copying stream data [in 34.2.2 Sharing Stream Buffers Inadvertently]
stream storage
adding data [in 36.1 Adding Data to a Stream]
and date format string manipulator [in 36.3 Another Look at the Date Format String]
overview [in 36.2 An Example - Storing a Date Format String]
standard and C library compared [in 36.2 An Example - Storing a Date Format String]
stream type, deriving new [in 38.1 Deriving a New Stream Type]
streambuf interface
for locales [in 39.1.2 The streambuf Interface]
for positioning [in 39.1.2 The streambuf Interface]
for reading [in 39.1.2 The streambuf Interface]
for writing [in 39.1.2 The streambuf Interface]
streambuf => See also basic_streambuf and stream buffers
streambuf, deriving new
implementing new log stream class [in 39.2 Deriving New Stream Buffer Classes]
implementing overflow function [in 39.2 Deriving New Stream Buffer Classes]
new logstream class [in 39.2 Deriving New Stream Buffer Classes]
using new log buffer class [in 39.2 Deriving New Stream Buffer Classes]
streambuf
class hierarchy [in 39.1.1 The streambuf Hierarchy]
interface [in 39.1.1 The streambuf Hierarchy]
overview [in 39.1 Class basic_streambuf - the Sequence Abstraction]
streams and stream buffers, collaboration [in 27.4.2.3 The String Stream Buffer]
streams
error state of [in 29.1 About Flags]
explicit synchronization of [in 35.2 Explicit Synchronization]
forcing buffers to empty to files [in 35.2 Explicit Synchronization]
sharing files [in 35.1 Sharing Files Among Streams]
string input [in 28.5.2 Input of Strings]
string streams [in 27.4.1.5 The File Streams]
[in 31.1 About String Streams]
class templates [in 31.1 About String Streams]
internal buffer [in 31.2 The Internal Buffer]
open modes [in 31.3 The Open Modes]
string traits class [in 17.2 Using the Traits Technique]
string
appending to [in 12.2.3 Assignment, Append, and Swap]
assigning value [in 12.2.3 Assignment, Append, and Swap]
comparisons [in 12.2.7 Copy and Substring]
declaring and initializing [in 12.2.1 Declaration and Initialization of string]
defined [in 12.1 The string Abstraction]
example [in 12.3 Example Function - Split a Line into Words]
include file [in 12.1.1 Include Files]
individual character access [in 12.2.4 Character Access]
inserting, removing, replacing [in 12.2.6 Insertion, Removal, and Replacement]
iterators for [in 12.2.5 Iterators]
resetting size [in 12.2.2 Resetting Size and Capacity]
searching operations [in 12.2.8 string Comparisons]
substrings [in 12.2.7 Copy and Substring]
swapping values [in 12.2.3 Assignment, Append, and Swap]
string_char_trait [in 17.2 Using the Traits Technique]
Stroustrup, Bjarne [in 1.1 Welcome]
strstream
deprecated [in 27.4.1 The Internal Structure of the Formatting Layer]
[in 45.4 String Streams]
strstreambuf [in 39.1.1 The streambuf Hierarchy]
deprecated [in 45.4 String Streams]
subscript operator [in 12.2.4 Character Access]
[in 5.2.3 Subscripting a vector]
[in 9.2.3 Insertion and Access]
substr() [in 12.2.7 Copy and Substring]
swap() [in 12.2.3 Assignment, Append, and Swap]
[in 13.2.4 Swap Values from Two Parallel Ranges]
[in 5.2.1 Declaration and Initialization of vectors]
[in 6.2.1 Declaration and Initialization of lists]
[in 8.2.1 Declaration and Initialization of set]
[in 9.2.1 Declaration and Initialization of map]
swap_ranges() [in 13.2.4 Swap Values from Two Parallel Ranges]
symbolic constants [in 21.1 Overview]
sync() [in 35.2.2 Input Streams]
when to use [in 35.2.2 Input Streams]
synchronization
automatic [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
[in 35.4 Implicit Synchronization by Tying Streams]
explicit [in 35.2 Explicit Synchronization]
implicit [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
[in 35.4 Implicit Synchronization by Tying Streams]
switching off [in 35.6 Synchronization with the C Standard I/O]
with C Standard I/O [in 35.6 Synchronization with the C Standard I/O]
with predefined streams [in 35.5 Synchronizing the Standard Iostream Objects]

#### T

table
C locale categories [in 24.1 The C Locale]
default open modes [in 30.3.3 Default Open Modes]
flag names and effects [in 30.3.1 The Open Mode Flags]
flags and corresponding error categories [in 29.1 About Flags]
[in 29.1 About Flags]
flags and their effects on operators [in 28.3.1.2 Parameters That Can Have Only a Few Different Values]
format parameters with arbitrary values [in 28.3.1.1 Parameters That Can Have an Arbitrary Value]
manipulators [in 28.3.2 Manipulators]
open modes and C stdio counterparts [in 30.3.2 Combining Open Modes]
possible seeks for seekp [in 30.5 File Positioning]
predefined standard streams and C standard files [in 28.1 The Predefined Streams]
stream member functions for error checking [in 29.2 Checking the Stream State]
technical support [in 1.7 Technical Support]
tellp [in 30.5 File Positioning]
test() [in 8.4.3 Accessing and Testing Elements]
text I/O
defined [in 27.2 How the Standard Iostreams Work]
text mode [in 30.4 Binary and Text Mode]
text processing [in 27.2 How the Standard Iostreams Work]
time classes [in 24.2.1.1 The Standard Facets]
time_get [in 32.4 Improved Extractors and Inserters]
time_get<> [in 24.2.1.1 The Standard Facets]
time_put [in 32.4 Improved Extractors and Inserters]
time_put<> [in 24.2.1.1 The Standard Facets]
top() [in 10.2 The stack Data Abstraction]
[in 11.2 The priority queue Operations]
to_string() [in 8.4.5 Conversions]
to_ulong() [in 8.4.5 Conversions]
traditional iostreams
defined [in 27.1 The Standard Iostreams]
training [in 1.6 Consulting Services and Training]
traits parameter [in 17.1 Defining the Problem]
traits template example [in 17.2 Using the Traits Technique]
traits [in 17.2 Using the Traits Technique]
transcendental functions [in 20.2.8 Transcendental Functions]
transform() [in 13.7.1 Transform One or Two Sequences]
transformation algorithms [in 13.4 In-Place Transformations]
for merging [in 13.4.6 Merge Two Adjacent Sequences into One]
for partitioning elements [in 13.4.4 Partition a Sequence into Two Groups]
for permutations [in 13.4.5 Generate Permutations in Sequence]
for replacing fixed-value elements [in 13.4.2 Replace Certain Elements With Fixed Value]
for reversing elements in a sequence [in 13.4.1 Reverse Elements in a Sequence]
for rotating elements [in 13.4.3 Rotate Elements Around a Midpoint]
for rotation [in 13.4.3 Rotate Elements Around a Midpoint]
rearranging sequence elements [in 13.4.7 Randomly Rearrange Elements in a Sequence]
transport layer
defined [in 27.2.1.2 The Transport Layer]
internal structure [in 27.4.1.6 The String Streams]
stream buffer classes [in 27.4.2 The Transport Layer's Internal Structure]
tree [in 4.4 Container Types Not Found in the C++ Standard Library]
trigonometric functions [in 20.2.7 Trigonometric Functions]
trunc [in 30.3.1.2 The Open modes ate, app, and trunc]
type safety [in 27.1 The Standard Iostreams]

#### U

unary_function [in 3.2.2.1 To Employ Existing C++ Standard Library Function Objects]
underflow() [in 27.4.2.1 The Stream Buffer]
unique() [in 13.5.2 Remove Runs of Similar Values]
[in 6.2.4 Removing Elements]
unique_copy() [in 13.5.2 Remove Runs of Similar Values]
unitbuf flag [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
switching off [in 35.3 Implicit Synchronization Using the unitbuf Format Flag]
upper_bound() [in 14.4 Binary Search]
[in 8.2.5 Searching and Counting]
[in 9.2.6 Searching and Counting]
user-defined algorithms [in 16.1 Extending the C++ Standard Library]
user-defined containers [in 16.1 Extending the C++ Standard Library]
user-defined types example
date class for [in 32.2 An Example with a User-Defined Type]
extractor pattern [in 32.6 Patterns for Extractors and Inserters of User-Defined Types]
improved extractor [in 32.5.1 Applying the Recommendations to the Example]
improved inserter [in 32.5.1 Applying the Recommendations to the Example]
improving inserters and extractors [in 32.5 More Improved Extractors and Inserters]
improving the extractors and inserters [in 32.4 Improved Extractors and Inserters]
inserters and extractors for [in 32.3 A Simple Extractor and Inserter for the Example]
more complete date class [in 32.3 A Simple Extractor and Inserter for the Example]
pattern for the inserter [in 32.6 Patterns for Extractors and Inserters of User-Defined Types]
user-defined types [in 27.1.2 Extensibility to New Types]
available in standard iostreams [in 41.1 User-Defined Character Types]
character classification facet [in 41.2 Defining Traits and Facets for User-Defined Types]
code conversion facets [in 41.2 Defining Traits and Facets for User-Defined Types]
defining traits class and facets [in 41.2 Defining Traits and Facets for User-Defined Types]
example [in 41.1.1 Requirements for User-Defined Character Types]
traits class declaration [in 41.2 Defining Traits and Facets for User-Defined Types]
using streams instantiated on [in 41.3 Creating and Using Streams Instantiated on User-Defined Types]
use_facet and has_facet
type required for [in 25.3 Accessing a Locale's Facets]
use_facet [in 25.3 Accessing a Locale's Facets]

#### V

valarray [in 22.1 Overview]
assignment operators [in 22.3 Assignment Operators]
[in 22.5 Computed Assignment Operators]
auxiliary array classes [in 22.4.2.4 Indirect Operation]
auxiliary classes [in 22.1.3 Other Unique Features]
binary operators [in 22.7.1 Binary Operators]
boolean mask [in 22.4.2.3 Boolean Mask]
class that doesn't meet retrictions [in 22.1.2.2 A Class That Doesn't Meet the Type Restrictions]
class that meets restrictions [in 22.1.2.1 A Class That Meets the Type Restrictions]
declaring [in 22.2 Declaring a valarray]
gslice operation [in 22.4.2.2 The gslice Operation]
include file [in 22.1.4 Header Files]
index operators [in 22.4.1 Ordinary Index Operators]
indirect operation [in 22.4.2.4 Indirect Operation]
member functions [in 22.6 Member Functions]
performance issues [in 22.1.1 Performance Issues]
slice operation [in 22.4.2.1 The Slice Operation]
subset operators [in 22.4.2 Subset Operators]
transcendental functions [in 22.7.2 Transcendental Functions]
type restrictions [in 22.1.2 Type Restrictions]
unary operators [in 22.4.3 Unary Operators]
value_comp() [in 9.2.7 Element Comparisons]
value_type [in 16.4.2 The distance and advance Primitives]
vector<bool>
defined [in 5.3 Boolean Vectors]
vector
boolean [in 5.3 Boolean Vectors]
declaring and initializing [in 5.2.1 Declaration and Initialization of vectors]
defined [in 5.1 The vector Data Abstraction]
determining maximum values in [in 5.2.9 Useful Generic Algorithms]
example program [in 5.4 Example Program - The Sieve of Eratosthenes]
include file [in 5.1.1 Include Files]
inserting and removing elements [in 5.2.5 Inserting and Removing Elements]
operations for [in 5.2 vector Operations]
size and extent changing [in 5.2.4 Extent and Size-Changing Operations]
sorting [in 5.2.8 Sorting and Sorted vector Operations]
test for inclusion [in 5.2.7 Test for Inclusion]
type definitions for [in 5.2.2 Type Definitions]
useful algorithms for [in 5.2.9 Useful Generic Algorithms]

#### W

wide characters [in 23.3.2 Wide Characters]
converting to multibyte [in 23.3.2 Wide Characters]
wstring [in 12.1 The string Abstraction]

#### X

X/Open consortium [in 24.1 The C Locale]
X/Open messages [in 24.2.1.1 The Standard Facets]
xalloc() [in 36.2 An Example - Storing a Date Format String]
XPG4 [in 24.1 The C Locale]