1003. Require more useful headers for freestanding implementations

Section: 20.5.1.3 [compliance] Status: NAD Submitter: Alisdair Meredith Opened: 2009-03-11 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [compliance].

View all issues with NAD status.

Discussion:

Addresses JP 23 [CD1]

There is a freestanding implementation including <type_traits>, <array>, <ratio>, lately added to Table 13, C++ library headers. Programmers think them useful and hope that these headers are also added to Table 15, C++ headers for freestanding implementations, that shows the set of headers which a freestanding implementation shall include at least.

Original proposed resolution

Add <type_traits>, <array>, <ratio> to Table 15.

[ Summit: ]

The <array> header has far too many dependencies to require for a free-standing implementation.

The <ratio> header would be useful, has no dependencies, but is not strictly necessary.

The <type_traits> header is fundamentally a core language facility with a library interface, so should be supported.

(it is anticipated the resolution will come via an update to paper N2814) (see also LWG 833)

[ Batavia (2009-05): ]

Leave in Review status pending a paper on freestanding implementations by Martin Tasker.

[ 2009-07 Frankfurt: ]

Move this to NAD.

We considered all of the listed headers, and found a compelling case only for the inclusion of <type_traits> in the list of headers required of a freestanding implementation.

See Martin Tasker's paper Fixing Freestanding which provides the wording to include <type_traits> into freestanding implementations.

Proposed resolution:

Add <type_traits> to Table 15.