Как использовать boost :: locale в std :: thread? - PullRequest
0 голосов
/ 06 мая 2020

Я пишу программу, которая обрабатывает набор файлов одновременно, поэтому я запускаю несколько типов потоков одновременно. В одном из этих потоков мне нужно сделать boost::locale::conv::to_utf<char>, boost::locale::normalize и boost::locale::fold_case, чтобы преобразовать прочитанную строку в кодировку utf, нормализовать ее и свернуть регистр. Для выполнения перечисленных методов мне нужны языковой стандарт системы и языковой стандарт UTF, но создание генератора языкового стандарта и создание потоков внутри потока не является реентерабельным, и я не знаю, как выполнять описанные задачи. PS Я пробовал передать генератор по ссылке, но он преобразует любую строку в пустую. Кто-нибудь может мне помочь?

...