cpp/freestanding

There are two kinds of implementations defined by the C++ standard: hosted and freestanding implementations. For hosted implementations, the set of standard library headers required by the C++ standard is much larger than for freestanding ones. In a freestanding implementation, execution may happen without an operating system.

The kind of the implementation is implementation-defined.

{{rrev|since=c++11|1=

Requirements on multi-threaded executions and data races
}}

Requirements on standard library headers
A freestanding implementation has an implementation-defined set of headers. This set includes at least the headers in the following table: