This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of LEWG status.

708. Locales need to be per thread and updated for POSIX changes

Section: 25 [localization] Status: LEWG Submitter: Peter Dimov Opened: 2007-07-28 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [localization].

View all issues with LEWG status.


The POSIX "Extended API Set Part 4,"

introduces extensions to the C locale mechanism that allow multiple concurrent locales to be used in the same application by introducing a type locale_t that is very similar to std::locale, and a number of _l functions that make use of it.

The global locale (set by setlocale) is now specified to be per- process. If a thread does not call uselocale, the global locale is in effect for that thread. It can install a per-thread locale by using uselocale.

There is also a nice querylocale mechanism by which one can obtain the name (such as "de_DE") for a specific facet, even for combined locales, with no std::locale equivalent.

std::locale should be harmonized with the new POSIX locale_t mechanism and provide equivalents for uselocale and querylocale.

[ Kona (2007): Bill and Nick to provide wording. ]

[ San Francisco: Bill and Nick still intend to provide wording, but this is a part of the task to be addressed by the group that will look into issue 860. ]

[ 2009-07 Frankfurt: ]

It's our intention to stay in sync with WG14. If WG14 makes a decision that requires a change in WG21 the issue will be reopened.

Move to NAD Future.

Proposed resolution: