Personal tools
Comprehensive TOC
Click on the banner to return to the user guide home page.
Table of Contents
- 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
- 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
- 3.1 Functions
- 3.2 Predicates
- 3.3 Function Objects
- 3.4 Function Adaptors
- 3.5 Negators and Binders
- 4.1 Overview
- 4.2 Selecting a Container
- 4.3 Memory Management Issues
- 4.4 Container Types Not Found in the Standard Library
- 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
- 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
- 7.1 The deque Data Abstraction
- 7.1.1 Include Files
- 7.2 Deque Operations
- 7.3 Example Program - Radix Sort
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 17.1 Using the Traits Technique
- 18.1 Overview
- 18.1.1 Include Files
- 18.2 The Standard Exception Hierarchy
- 18.3 Using Exceptions
- 18.4 Example Program
- 19.1 Overview
- 19.1.1 Include File
- 19.2 Declaration and Initialization of Auto Pointers
- 19.3 Example Program
- 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
- 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
Chapter 1: Introduction
Chapter 2: Iterators
Chapter 3: Functions and Predicates
Chapter 4: Container Classes
Chapter 5: vector and vector <bool>
Chapter 6: list
Chapter 7: deque
Chapter 8: set, multiset, and bitset
Chapter 9: map and multimap
Chapter 10: stack and queue
Chapter 11: priority_queue
Chapter 12: String
Chapter 13: Generic Algorithms
Chapter 14: Ordered Collection Algorithms
Chapter 15: Using Allocators
Chapter 16: Building Containers & Generic Algorithms
Chapter 17: The Traits Parameter
Chapter 18: Exception Handling
Chapter 19: auto_ptr
Chapter 20: Complex
Chapter 21: Numeric Limits
Topic Index
©Copyright 1996, Rogue Wave Software, Inc.