Existe um Wrapper C ++ compatível com STL e UTF-8 para ICU ou outra poderosa biblioteca Unicode [fechada]

Eu preciso de uma boa biblioteca Unicode para C ++. Eu preciso:

Transformações de maneira sensível ao Unicode. Por exemplo, classifique todas as strings de maneira que não diferenciam maiúsculas de minúsculas e obtenha os primeiros caracteres para indexar. Converta várias seqüências de caracteres Unicode em maiúsculas e minúsculas. Divida o texto em uma posição razoável - palavras que também funcionem para chinês e japonês.Formatação de números, datas em localidade sensível (deve ser thread thread safe).Suporte transparente ao UTF-8 (representação interna primária).

Até onde eu sei, a melhor biblioteca é a UTI. No entanto, não consigo encontrar a documentação normal da API amigável ao desenvolvedor com exemplos. Também, até onde eu vejo, não é muito amigável com o design moderno de C ++, trabalha com STL e assim por diante. Como isso:

std::string msg;
unistring umsg.from_utf8(msg);
unistring::word_iterator wi;
for(wi=umsg.words().begin(),n=0;wi!=usmg.words().wi_end(),n<10;++wi,++n) 
  ;
msg=umsg.substr(umsg.words().begin(),wi).to_utf8();
cout<<_("Five 10 words are ")<<msg;

Existe um bom wrapper ICU compatível com STL lançado sob licença Open Source? Preferida é uma licença permitida como MIT ou Boost, mas outras, como LGPLv2, também são válidas.

Existe outra biblioteca de alta qualidade semelhante à UTI?

Plataforma: Unix / POSIX, o suporte ao Windows não é necessário.

Editar: infelizmente eu não estava logado, então não posso aceitar uma resposta. Anexei a resposta sozinho.

questionAnswers(3)

yourAnswerToTheQuestion