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) ! นั่นคือรวมถึงการต่อท้าย