15 Library introduction [library]

15.5 Library-wide requirements [requirements]

15.5.1 Library contents and organization [organization] Freestanding implementations [compliance]

Two kinds of implementations are defined: hosted and freestanding ([intro.compliance]).
For a hosted implementation, this document describes the set of available headers.
A freestanding implementation has an implementation-defined set of headers.
This set shall include at least the headers shown in Table 22.
Table 22 — C++ headers for freestanding implementations
Implementation properties
<cfloat> <limits> <climits> <version>
Integer types
Start and termination
Dynamic memory management
Type identification
Exception handling
Initializer lists
Other runtime support
Concepts library
Type traits
Bit manipulation
The supplied version of the header <cstdlib> shall declare at least the functions abort, atexit, at_­quick_­exit, exit, and quick_­exit ([support.start.term]).
The other headers listed in this table shall meet the same requirements as for a hosted implementation.