3.1 KiB
[support.c.headers.other]
17 Language support library [support]
17.15 C headers [support.c.headers]
17.15.7 Other C headers [support.c.headers.other]
Every C header
other than<complex.h>,<iso646.h>,<stdalign.h>,
<stdatomic.h>,<stdbit.h>,<stdbool.h>,<stdckdint.h>, and
<tgmath.h>,
each of
which has a name of the form<name.h>,
behaves as if each name placed in the standard library namespace by
the corresponding<cname> header is placed within
the global namespace scope,
except for the functions described in [sf.cmath],
the std::lerp function overloads ([c.math.lerp]),
the declaration of std::byte ([cstddef.syn]), and
the functions and function templates described in [support.types.byteops].
It is unspecified whether these names are first declared or defined within namespace scope ([basic.scope.namespace]) of the namespacestd and are then injected into the global namespace scope by explicit using-declarations ([namespace.udecl]).
[Example 1:
The header assuredly provides its declarations and definitions within the namespacestd.
It may also provide these names within the global namespace.
The header <stdlib.h> assuredly provides the same declarations and definitions within the global namespace, much as in ISO/IEC 9899.
It may also provide these names within the namespace std.
â end example]