Há alguma atualização de suporte de localização em C ++ 0x?

Quanto mais eu trabalho com facetas de localidade C ++, mais eu entendo --- eles estão quebrados.

std::time_get - não é simétrica comstd::time_put (como em strftime / strftime) e não permite a fácil análise de tempos com marcas AM / PM.I descoberto Recentemente, essa simples formatação de números pode produzir UTF-8 ilegal sob certas localidades (comoru_RU.UTF-8).std::ctype é muito simplista supondo que para cima / para baixo pode ser feito em base por caractere (conversão de caso pode alterar o número de caracteres e é dependente do contexto).std::collate - não suporta força de agrupamento (sensível a maiúsculas ou insensível).Não há maneira de especificar o fuso horário diferente do fuso horário global na formatação de hora.

E muito mais...

Alguém sabe se alguma alteração é esperada em facetas padrão em C ++ 0x?Existe alguma maneira de trazer uma importância de tais mudanças?

Obrigado.

EDITAR: Esclarecimentos, caso o link não esteja acessível:

std::numpunct define o separador de milhares como char. Portanto, quando separador em U + 2002 - tipo diferente de espaço, ele não pode ser reproduzido como um único caractere em UTF-8, mas como uma sequência de múltiplos bytes.

Na API Cstruct lconv define o separador de milhares como string e não sofre desse problema. Portanto, quando você tenta formatar números com separadores fora do ASCII com o código do idioma UTF-8, o UTF-8 inválido é produzido.

Para reproduzir este bug escreva 1234 para std: ostream com imbuedru_RU.UTF-8 localidade

EDIT2: Devo admitir que a API de localização POSIX C funciona de maneira muito mais suave:

Há inverso de strftime - strptime (strftime faz o mesmo questd::time_put::put)Não há problemas com formatação de números por causa do ponto que eu mencionei acima.

No entanto, ainda é para ser perfecet.

EDIT3: De acordo com as últimas notas sobre C ++ 0x eu posso ver questd::time_get::get -- igual astrptime e oposto destd::time_put::put.

questionAnswers(2)

yourAnswerToTheQuestion