Есть ли хранилище исходных файлов std::locale?

Мне нужен класс std::locale, определяющий стандартные фасеты ru_RU.CP1251 (ctype, collate, numeric, …). Я чувствую, что кто-то выпустил все основные локали. Есть ли библиотеки или хранилище исходных файлов, где я могу загрузить их и просто включить в свой проект, например:

#include <some_lib\ru_locale.hpp> // library
#include <locale>
#include <io>

int main(int argc, char *argv[])
{
  std::locale ru = ru_locale(); // from library
  std::locale custom_locale(std::locale(""), ru, numpunct);
  std::cout.imbue(custom_locale);
  float float_num = 1.123;
  std::cout << float_num;
  return 0;
}

person hoxnox    schedule 18.09.2010    source источник


Ответы (1)


Что плохого в том, чтобы просто сделать:

std::locale ru("ru_RU.cp1251");

Кажется совершенно излишним создавать для этого специальный класс?

person rubenvb    schedule 18.09.2010
comment
Я не знаю, какие локали установлены в системе пользователей. Например, у mingw (бинарники от sourceforge) + windows нет ru_RU.cp1251, поэтому ваш код выдает исключение. - person hoxnox; 18.09.2010