The named module std exports declarations in namespace std
that are provided by the importable C++ library headers
(Table 24 or the subset provided by a freestanding implementation)
and the C++ headers for C library facilities (Table 25).
It additionally exports declarations in the global namespace
for the storage allocation and deallocation functions
that are provided by <new>.
declarations in the global namespace
corresponding to the declarations in namespace std
that are provided by
the C++ headers for C library facilities (Table 25),
except the explicitly excluded declarations
described in [support.c.headers.other] and
Conforming implementations ensure that mixing
#include and import does not result in
conflicting attachments ([basic.link]).
— end note]
Recommended practice: Implementations should ensure such attachments do not preclude
further evolution or decomposition of the standard library modules.
A declaration in the standard library denotes the same entity regardless of
whether it was made reachable through
including a header,
importing a header unit, or
importing a C++ library module.