Click on the banner to return to the user guide home page.
Table of Contents
Chapter 1: Introduction
1.1 What is the Standard C++ Library?
1.2 Does the Standard C++ Library Differ From Other Libraries?
1.3 What are the Effects of Non-Object-Oriented Design?
1.4 How Should I Use the Standard C++ Library?
1.5 Reading This Manual
1.6 Conventions
1.7 Using the Standard Library
1.8 Running the Tutorial Programs
Chapter 2: Iterators
2.1 Introduction to Iterators
2.2 Varieties of Iterators
2.2.1 Input Iterators
2.2.2 Output Iterators
2.2.3 Forward Iterators
2.2.4 Bidirectional Iterators
2.2.5 Random Access Iterators
2.2.6 Reverse Iterators
2.3 Stream Iterators
2.3.1 Input Stream Iterators
2.3.2 Output Stream Iterators
2.4 Insert Iterators
2.5 Iterator Operations
Chapter 3: Functions and Predicates
3.1 Functions
3.2 Predicates
3.3 Function Objects
3.4 Function Adaptors
3.5 Negators and Binders
Chapter 4: Container Classes
4.1 Overview
4.2 Selecting a Container
4.3 Memory Management Issues
4.4 Container Types Not Found in the Standard Library
Chapter 5: vector and vector <bool>
5.1 The vector Data Abstraction
5.1.1 Include Files
5.2 Vector Operations
5.2.1 Declaration and Initialization of Vectors
5.2.2 Type Definitions
5.2.3 Subscripting a Vector
5.2.4 Extent and Size-Changing Operations
5.2.5 Inserting and Removing Elements
5.2.6 Iteration
5.2.7 Test for Inclusion
5.2.8 Sorting and Sorted Vector Operations
5.2.9 Useful Generic Algorithms
5.3 Boolean Vectors
5.4 Example Program - Sieve of Eratosthenes
Chapter 6: list
6.1 The list Data Abstraction
6.1.1 Include files
6.2 List Operations
6.2.1 Declaration and Initialization of Lists
6.2.2 Type Definitions
6.2.3 Placing Elements into a List
6.2.4 Removing Elements
6.2.5 Extent and Size-Changing Operations
6.2.6 Access and Iteration
6.2.7 Test for Inclusion
6.2.8 Sorting and Sorted List Operations
6.2.9 Searching Operations
6.2.10 In Place Transformations
6.2.11 Other Operations
6.3 Example Program - An Inventory System
Chapter 7: deque
7.1 The deque Data Abstraction
7.1.1 Include Files
7.2 Deque Operations
7.3 Example Program - Radix Sort
Chapter 8: set, multiset, and bitset
8.1 The set Data Abstraction
8.1.1 Include Files
8.2 set and multiset Operations
8.2.1 Declaration and Initialization of Set
8.2.2 Type Definitions
8.2.3 Insertion
8.2.4 Removal of Elements from a Set
8.2.5 Searching and Counting
8.2.6 Iterators
8.2.7 Set Operations
8.2.8 Other Generic Algorithms
8.3 Example Program: - A Spelling Checker
8.4 The bitset Abstraction
8.4.1 Include Files
8.4.2 Declaration and Initialization of bitset
8.4.3 Accessing and Testing Elements
8.4.4 Set operations
8.4.5 Conversions
Chapter 9: map and multimap
9.1 The map Data Abstraction
9.1.1 Include files
9.2 Map and Multimap Operations
9.2.1 Declaration and Initialization of map
9.2.2 Type Definitions
9.2.3 Insertion and Access
9.2.4 Removal of Values
9.2.5 Iterators
9.2.6 Searching and Counting
9.2.7 Element Comparisons
9.2.8 Other Map Operations
9.3 Example Programs
9.3.1 A Telephone Database
9.3.2 Graphs
9.3.3 A Concordance
Chapter 10: stack and queue
10.1 Overview
10.2 The stack Data Abstraction
10.2.1 Include Files
10.2.2 Declaration and Initialization of stack
10.2.3 Example Program - A RPN Calculator
10.3 The queue Data Abstraction
10.3.1 Include Files
10.3.2 Declaration and Initialization of queue
10.3.3 Example Program - Bank Teller Simulation
Chapter 11: priority_queue
11.1 The priority queue Data Abstraction
11.1.1 Include Files
11.2 The Priority Queue Operations
11.2.1 Declaration and Initialization of priority queue
11.3 Application - Event-Driven Simulation
11.3.1 An Ice Cream Store Simulation
Chapter 12: String
12.1 The string Abstraction
12.1.1 Include Files
12.2 String Operations
12.2.1 Declaration and Initialization of string
12.2.2 Resetting Size and Capacity
12.2.3 Assignment, Append and Swap
12.2.4 Character Access
12.2.5 Iterators
12.2.6 Insertion, Removal and Replacement
12.2.7 Copy and Substring
12.2.8 String Comparisons
12.2.9 Searching Operations
12.3 An Example Function - Split a Line into Words
Chapter 13: Generic Algorithms
13.1 Overview
13.1.1 Include Files
13.2 Initialization Algorithms
13.2.1 Fill a Sequence with An Initial Value
13.2.2 Copy One Sequence Into Another Sequence
13.2.3 Initialize a Sequence with Generated Values
13.2.4 Swap Values from Two Parallel Ranges
13.3 Searching Operations
13.3.1 Find an Element Satisfying a Condition
13.3.2 Find Consecutive Duplicate Elements
13.3.3 Find the first occurrence of any value from a sequence
13.3.4 Find a Sub-sequence within a Sequence
13.3.5 Find the last occurrence of a Sub-sequence
13.3.6 Locate Maximum or Minimum Element
13.3.7 Locate the First Mismatched Elements in Parallel Sequences
13.4 In-Place Transformations
13.4.1 Reverse Elements in a Sequence
13.4.2 Replace Certain Elements With Fixed Value
13.4.3 Rotate Elements Around a Midpoint
13.4.4 Partition a Sequence into Two Groups
13.4.5 Generate Permutations in Sequence
13.4.6 Merge Two Adjacent Sequences into One
13.4.7 Randomly Rearrange Elements in a Sequence
13.5 Removal Algorithms
13.5.1 Remove Unwanted Elements
13.5.2 Remove Runs of Similar Values
13.6 Scalar-Producing Algorithms
13.6.1 Count the Number of Elements that Satisfy a Condition
13.6.2 Reduce Sequence to a Single Value
13.6.3 Generalized Inner Product
13.6.4 Test Two Sequences for Pairwise Equality
13.6.5 Lexical Comparison
13.7 Sequence-Generating Algorithms
13.7.1 Transform One or Two Sequences
13.7.2 Partial Sums
13.7.3 Adjacent Differences
13.8 Miscellaneous Algorithms
13.8.1 Apply a Function to All Elements in a Collection
Chapter 14: Ordered Collection Algorithms
14.1 Overview
14.1.1 Include Files
14.2 Sorting Algorithms
14.3 Partial Sort
14.4 nth Element
14.5 Binary Search
14.6 Merge Ordered Sequences
14.7 Set Operations
14.8 Heap Operations
Chapter 15: Using Allocators
15.1 An Overview of the Standard Library Allocators
15.2 Using Allocators with Existing Standard Library Containers
15.3 Building Your Own Allocators
15.3.1 Using the Standard Allocator Interface
15.3.2 Using Rogue Wave's Alternative Interface
15.3.3 How to Support Both Interfaces
Chapter 16: Building Containers & Generic Algorithms
16.1 Extending the Library
16.2 Building on the Standard Containers
16.2.1 Inheritance
16.2.2 Generic Inheritance
16.2.3 Generic Composition
16.3 Creating Your Own Containers
16.3.1 Meeting the Container Requirements
16.3.2 Meeting the Allocator Interface Requirements
16.3.3 Iterator Requirements
16.4 Tips and Techniques for Building Algorithms
16.4.1 The iterator_category Primitive
16.4.2 The distance and advance Primitives
Chapter 17: The Traits Parameter
17.1 Using the Traits Technique
Chapter 18: Exception Handling
18.1 Overview
18.1.1 Include Files
18.2 The Standard Exception Hierarchy
18.3 Using Exceptions
18.4 Example Program
Chapter 19: auto_ptr
19.1 Overview
19.1.1 Include File
19.2 Declaration and Initialization of Auto Pointers
19.3 Example Program
Chapter 20: Complex
20.1 Overview
20.1.1 Include Files
20.2 Creating and Using Complex Numbers
20.2.1 Declaring Complex Numbers
20.2.2 Accessing Complex Number Values
20.2.3 Arithmetic Operations
20.2.4 Comparing Complex Values
20.2.5 Stream Input and Output
20.2.6 Norm and Absolute Value
20.2.7 Trigonometric Functions
20.2.8 Transcendental Functions
20.3 Example Program - Roots of a Polynomial
Chapter 21: Numeric Limits
21.1 Overview
21.2 Fundamental Data Types
21.3 Numeric Limit Members
21.3.1 Members Common to All Types
21.3.2 Members Specific to Floating Point Values
Topic Index
©Copyright 1996, Rogue Wave Software, Inc.