Absolute C++ (4th Edition) part 79. KEY BENEFIT: C++ programming concepts and techniques are presented in a straightforward style using understandable language and code. KEY TOPICS: C++ Basics; Flow of Control; Function Basics; Parameters and Overloading; Arrays; Structures and Classes; Constructors; Operator Overloading, Friends, and References; Strings; Pointers and Dynamic Arrays; Separate Compilation and Namespaces; Streams and File I/O; Recursion; Inheritance; Polymorphism and Virtual Functions; Templates; Linked Data Structures; Exception Handling; Standard Template Library; Patterns and UML. MARKET: Useful for both beginning and intermediate C++ programmers. . | STL Standard Template Library Libraries are not made they grow. Augustine Birrell Introduction In Chapter 17 we constructed our own versions of the stack and queue data structures. A large collection of standard structures for holding data exists. Because they are so standard it makes sense to have standard portable implementations of these data structures. The Standard Template Library STL includes libraries for such data structures. Included in the STL are implementations of the stack queue and many other standard data structures. When discussed in the context of the STL these data structures are usually called container classes because they are used to hold collections of data. Chapter 7 presented a preview of the STL by describing the vector template class which is one of the container classes in the STL. This chapter presents an overview of some of the basic classes included in the STL. Because the STL is very large we will not be able to give a comprehensive treatment of it here but we will present enough to get you started using some basic STL container classes as well as some of the other items in the STL. The STL was developed by Alexander Stepanov and Meng Lee at Hewlett-Packard and was based on research by Stepanov Lee and David Musser. It is a collection of libraries written in the C language. Although the STL is not part of the core C language it is part of the C standard and so any implementation of C that conforms to the standard includes the STL. As a practical matter you can consider the STL to be part of the C language. As its name suggests the classes in the STL are template classes. A typical container class in the STL has a type parameter for the type of data to be stored in the container class. The STL container classes make extensive use of iterators which are objects that facilitate cycling through the data in a container. An introduction to the general concept of an iterator was given in Section of Chapter 17. Although this chapter .