Standard C++ Library Reference ISO/IEC (VERSION3)

The Standard C++ library consists of 51 required headers. This implementation also includes
three additional headers, <hash_map>, <hash_set>, and <slist>, not required by the
C++ Standard, for a total of 54 headers. Of these 54 headers, 16 constitute the Standard
Template Library, or STL. These are indicated below with the notation (STL):
<algorithm> -- (STL) for defining numerous templates that implement useful algorithms
<bitset> -- for defining a template class that administers sets of bits
<complex> -- for defining a template class that supports complex arithmetic
<deque> -- (STL) for defining a template class that implements a deque container
<exception> -- for defining several functions that control exception handling
<fstream> -- for defining several iostreams template classes that manipulate exteral files
<functional> -- (STL) for defining several templates that help construct predicates for the
templates defined in <algorithm> and <numeric>
<hash_map> -- (STL) for defining template classes that implement hashed associative
containers that map keys to values
<hash_set> -- (STL) for defining template classes that implement hashed associative
containers
<iomanip> -- for declaring several iostreams manipulators that take an argument
<ios> -- for defining the template class that serves as the base for many iostreams classes
<iosfwd> -- for declaring several iostreams template classes before they are necessarily
defined
<iostream> -- for declaring the iostreams objects that manipulate the standard streams
<istream> -- for defining the template class that performs extractions
<iterator> -- (STL) for defining several templates that help define and manipulate iterators
<limits> -- for testing numeric type properties
<list> -- (STL) for defining a template class that implements a doubly linked list container
<locale> -- for defining several classes and templates that control locale-specific behavior,
as in the iostreams classes
<map> -- (STL) for defining template classes that implement associative containers that map
keys to values
<memory> -- (STL) for defining several templates that allocate and free storage for various
container classes
<new> -- for declaring several functions that allocate and free storage
<numeric> -- (STL) for defining several templates that implement useful numeric functions
<ostream> -- for defining the template class that performs insertions
<queue> -- (STL) for defining a template class that implements a queue container
<set> -- (STL) for defining template classes that implement associative containers
<slist> -- (STL) for defining a template class that implements a singly linked list container
<sstream> -- for defining several iostreams template classes that manipulate string containers
<stack> -- (STL) for defining a template class that implements a stack container
<stdexcept> -- for defining several classes useful for reporting exceptions