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 الآن إرجاع التكرار المستندة إلى CodePoint ، في حين أن 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) ! هذا هو ، بما في ذلك الخلاف