The Standard Template Library (STL)
The Standard Template Library for C++ provides a generic library
of data structures to store, access and manipulate data.
It is a generic library based on templates.
In fact, it uses templates in such an aggressive way
that the C++ standardization committee was forced
to reconsider its definition of
the generic template facility in C++. See [STL].
Standard Template Library
STL
- containers -- to hold objects
- algorithms -- act on containers
- iterators -- to traverse containers
- functions -- as objects
- adaptors -- to transform objects
- allocators -- for memory management
slide: The Standard Template Library
The Standard Template Library (STL) offers
containers, to hold objects,
algorithms, that act on containers, and
iterators, to traverse containers.
Algorithms, which are implemented as objects,
may use functions, which are also defined as objects,
overloading the application method.
In addition, STL offers
adaptors, to transform objects, and
allocators, for memory management.
STL is supported by C++ compilers that adhere to the C++
standard, including Microsoft Visual C++ and the Cygnus/GNU C++ compilers.
A more extensive discussion of STL is beyond the scope of this
book, but the reader is advised to consult [STL],
which gives an introduction to STL and its history,
as well as a thorough course on programming with STL.