The STL provides many of the basic algorithms and data structures of computer science. The STL is a generic library, meaning that its components are heavily parameterized: Almost every component in the STL is a template. You should make sure that you understand how templates work in C++ before you use the STL.