tiny utf8
Version 4.4.3
Tiny-UTF8 -это библиотека для чрезвычайно простой интеграции Unicode в произвольный проект C ++ 11. Библиотека состоит исключительно из класса utf8_string , который действует как замена погружения в std::string . Его реализация успешно находится в середине между небольшим следствием памяти и быстрым доступом. Поэтому вся функциональность std::string заменяется соответствующей версией UTF-32 на основе CodePoint-перевода каждого доступа к UTF-8 под капотом.
c ) ( r ) begin / end , теперь возвращают итераторы на основе кодировки, а raw_ ( c ) ( r ) begin / end теперь возвращают итераторы на основе байтов.str.erase( std::remove( str.begin() , str.end() , U'W' ) , str.end() ) будет работать, но str.erase( std::remove( str.raw_begin() , str.raw_end() , U'W' ) , str.raw_end() ) не будет (по крайней мере, не всегда). Причина в том, что после вызова std::remove , размер строковых данных мог бы измениться, и второй вызов str.raw_end() мог получить итератор, который теперь дал непревзойденное итератор.std::stringsizeof(utf8_string) ! То есть, включая след