17 Library introduction [library]

17.5 Library-wide requirements [requirements]

17.5.1 Library contents and organization [organization]

17.5.1.1 Library contents [contents]

The C++ standard library provides definitions for the entities and macros described in the synopses of the C++ standard library headers ([headers]).

All library entities except operator new and operator delete are defined within the namespace std or namespaces nested within namespace std.167 It is unspecified whether names declared in a specific namespace are declared directly in that namespace or in an inline namespace inside that namespace.168

Whenever a name x defined in the standard library is mentioned, the name x is assumed to be fully qualified as ::std::x, unless explicitly described otherwise. For example, if the Effects: section for library function F is described as calling library function G, the function ::std::G is meant.

The C standard library headers (Annex [depr.c.headers]) also define names within the global namespace, while the C++ headers for C library facilities ([headers]) may also define names within the global namespace.

This gives implementers freedom to use inline namespaces to support multiple configurations of the library.