tiny utf8
Version 4.4.3
Tiny-UTF8 ist eine Bibliothek für eine extrem einfache Integration von Unicode in ein willkürliches C ++-11-Projekt. Die Bibliothek besteht ausschließlich aus der Klasse utf8_string , die als Drop-In-Ersatz für std::string fungiert. Seine Implementierung ist erfolgreich in der Mitte zwischen dem kleinen Speicherpfundwerk und dem schnellen Zugriff. Alle Funktionen von std::string werden daher durch die entsprechende CodePoint-basierte UTF-32-Version ersetzt-übersetzt jeden Zugriff auf UTF-8 unter der Haube.
c ) ( r ) begin / end nun kehrenpoint-basierte Iteratoren, während raw_ ( c ) ( r ) begin / end jetzt Byte-basierte Iteratoren zurückgeben.str.erase( std::remove( str.begin() , str.end() , U'W' ) , str.end() ) funktioniert, aber str.erase( std::remove( str.raw_begin() , str.raw_end() , U'W' ) , str.raw_end() ) wird () nicht immer nicht immer). Der Grund ist: Nach dem Anruf bei std::remove könnten sich die Größe der String-Daten geändert und der zweite Anruf an str.raw_end() möglicherweise zu einem inzwischen invalidierten Iterator erfolgen.std::stringsizeof(utf8_string) ! Das heißt, einschließlich der nachlaufenden