Associates loc to the stream as the new locale object to be used with locale-sensitive operations.
Before that, the function calls all functions registered through member register_callback with imbue_event as first argument.
Standard stream classes do not inherit this member, but inherit basic_ios::imbue instead, which calls this function, but also imbues the locale to the associated stream buffer, if any.
This code writes a floating point number using the global locale given by the environment. For example, in a system configured with a Spanish locale as default, this could write the number using a comma decimal separator:
3,14159
Data races
Modifies the stream object.
Concurrent access to the same stream object may cause data races.
Exception safety
Basic guarantee: if an exception is thrown, the stream is in a valid state.