Header files overview
The Standard C++ Library consists of 40 headers. Of these 40 headers, 15 constitute the Standard Template Library, or STL. 10 were added or updated with C++ Technical Report 1, or TR1. These are indicated below with the notations (STL) and (TR1):
- <algorithm> — (STL) for defining numerous templates that implement useful algorithms
- <array> — (TR1) for defining a fixed-size array with a container-like interface
- <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) / (TR1) for defining several templates that help construct predicates for the templates defined in <algorithm> and <numeric>
- <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 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) / (TR1) for defining templates that use reference counting to manage resources
- <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
- <random> — (TR1) for defining random number generators
- <regex> — (TR1) for defining a template class to parse regular expressions and several template classes and functions to search text for matches to a regular expression object
- <set> — (STL) for defining template classes that implement associative containers
- <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
- <streambuf> — for defining template classes that buffer iostreams operations
- <string> — for defining a template class that implements a string container
- <strstream> — for defining several iostreams classes that manipulate in-memory character sequences
- <typeinfo> — for defining class type_info, the result of the typeid operator
- <type_traits> — (TR1) for accessing detailed type information at compile time to support generic programming
- <tuple> — (TR1) for defining a template tuple whose instances hold objects of varying types
- <unordered_map> — (STL) / (TR1) for defining template classes that implement unordered associative containers that map keys to values
- <unordered_set> — (STL) / (TR1) for defining template classes that implement unordered associative containers
- <utility> — (STL) / (TR1) for defining two tuple-like templates that provide information about the contents of instances of std::pair
- <valarray> — for defining several classes and template classes that support value-oriented arrays
- <vector> — (STL) for defining a template class that implements a vector container
Copyright note
Certain materials included or referred to in this document are copyright P.J. Plauger and/or Dinkumware, Ltd. or are based on materials that are copyright P.J. Plauger and/or Dinkumware, Ltd.
Certain materials included or referred to in this document are copyright Hewlett-Packard Company or are based on materials that are copyright Hewlett-Packard Company.
Notwithstanding the meta-data for this document, copyright information for this document is as follows:
Copyright © IBM® Corp. 1999, 2013. & Copyright © P.J. Plauger and/or Dinkumware, Ltd. 1992-2006. & Copyright © 1994 Hewlett-Packard Company.