What is "stl"

To Standard Template Library, or STL, is the library of generic containers, iterators, algorithms and C++ function objects. Originally conceived by Alexander Stepanov and Meng Lee and published by HP in 1995. Many parts of the STL were adopted with modifications to the ISO standard C++ library.

Note that the name STL is ambiguous, as it can refer to different things. The following are the typical intended meanings (suggested marking in parentheses):

  • The original HP implementation ( or )
  • The STL SGI library ( or )
  • The HP STL derived parts used in the standard C library++ ( and )
  • Templates portions from the standard C library++ ( and )
  • All standard C++ library ()

The last two definitions are, strictly speaking, incorrect, the C++ standard never mentions "STL" or "Standard Template Library". In practice, however, people rarely need to consult the HP library, and so "STL" is almost always used to describe the STL derived parts in the standard library.

Resources

* This reference is not normative.