The Standard Template Library is a new C++ library that provides a set of easily composable C++ container classes and generic algorithms (template functions).
The container classes include vectors, lists, deques, sets, multisets, maps, multimaps, stacks, queues and priority queues.

The generic algorithms include a broad range of fundamental algorithms for the most common kinds of data manipulations, such as searching, sorting, merging, copying, and transforming.

At its July 1994 meeting, the ANSI/ISO C++ Standards Committee voted to adopt STL as part of the standard C++ library. The STL proposal to the committee by Alex Stepanov and Meng Lee of Hewlett-Packard Labs was based on research on generic programming and generic software libraries that Stepanov, Lee, and David Musser have been working on for several years, in Scheme, Ada, and C++.

Sequence Containers are objects that store collections of other objects in a strictly

Associative Containers provide for fast retrieval of objects from the collection based on keys. The size of the collection can vary at runtime. The collection is maintained in order, based on a comparison function object of type Compare (a default template parameter according to the STL standard, but a non-default template parameter in the current implementation). All supported operations on associative containers have logarithmic time bounds (or in some cases amortized constant bounds).

A Container Adapters uses existing container classes and implements a unique interface. A container adaptor hides the public interface of the underlying container and implements its own.