The Standard Template Library Copyright (c) 1994 Rensselaer Polytechnic Institute This notice applies to all material accessible from this page except books, documents or source code bearing other copyright notices. ---------------------------------------------------------------------------- Much of the material accessible from this page is also available at ftp.cs.rpi.edu/pub/stl in compressed postscript files for hard copy printing and some of it in plain text (ASCII) files. Either follow the above link or ftp to ftp.cs.rpi.edu with username anonymous, do binary, then cd pub/stl. The main file is stl-info.ps.Z, which contains the STL Generic Algorithm Reference and most of the other material except papers and reports, which are in separate files (see the README file there). There are minor differences between the postscript and ASCII files and the material in these Web pages. ---------------------------------------------------------------------------- These pages contain detailed descriptions of STL generic algorithms, but only brief overviews of containers and iterators. (Not discussed at all are function objects, adaptors, and allocators.) For much more complete descriptions of all STL components, with many example programs, see D.R. Musser and Atul Saini, STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library, Addison-Wesley, Reading, MA, 1996. (Available now.) In connection with the book, see also Source code resources and Errata list. ---------------------------------------------------------------------------- * STL, a new kind of library for C++ * How does STL differ from other C++ libraries? * STL-compatible compiler list (maintained by Warren Young) * How to compile programs that use STL---for RCS (Rensselaer Computing System) users * List of main STL include files * Simple example programs that use STL Some of these also use string handling facilities in mstring.h. * FTP sites for STL source code and related materials * Reference material o STL Generic Algorithm Reference, by Robert Cook, Jr., David R. Musser, and Kenneth J. Zalewski. Contains hypermedia data sheets describing all of the generic algorithms of STL, including source code and examples of use. The examples can be executed directly from the data sheets. Based on the ANSI/ISO STL document (see below) and the Hewlett Packard implementation. o STL Container Classes o STL Iterator Categories o The Standard Template Library by Alexander Stepanov and Meng Lee (ANSI/ISO document) This is a formal document, not intended for mass consumption. In addition to generic algorithm and container class descriptions, it covers iterators, function objects, and adaptors. All components are described rigorously, but with few examples or much motivating discussion. It has been incorporated with few changes into the Draft Working Paper of the ANSI/ISO C++ Standards Committee, which is the final authority on all STL component specifications. o Algorithm-oriented Generic Libraries by David R. Musser and Alexander A. Stepanov This is a research paper describing some key design principles for building and documenting a software library based on generic algorithms. It does not describe STL per se, but has examples from a library that was STL's predecessor. A later version of this paper appeared in Software--Practice & Experience, Vol. 24(7), 623-642 (July 1994). This online version of the paper contains enhancements by Kenny Zalewski to allow running animations of some of the sorting examples and other sorting algorithms, using an animation program developed by David Musser, Nathan Schimke, Alex Stepanov, and Meng Lee. The animation program was implemented using Xlib and a predecessor of STL. o Additional references on generic programming ---------------------------------------------------------------------------- musser@cs.rpi.edu