20 Library introduction [library]

20.5 Library-wide requirements [requirements]

20.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 19.
Table 19 — C++ headers for freestanding implementations
Implementation properties
<cfloat> <limits> <climits>
Integer types
Start and termination
Dynamic memory management
Type identification
Exception handling
Initializer lists
Other runtime support
Type traits
Deprecated headers
<cstdalign> <cstdbool>
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.