pub struct CodePoint { /* private fields */ }
Expand description
A Unicode code point: from U+0000 to U+10FFFF.
Compare with the char
type,
which represents a Unicode scalar value:
a code point that is not a surrogate (U+D800 to U+DFFF).
Implementations§
Source§impl CodePoint
impl CodePoint
Sourcepub unsafe fn from_u32_unchecked(value: u32) -> CodePoint
pub unsafe fn from_u32_unchecked(value: u32) -> CodePoint
Unsafely create a new CodePoint
without checking the value.
Only use when value
is known to be less than or equal to 0x10FFFF.
Sourcepub fn from_u32(value: u32) -> Option<CodePoint>
pub fn from_u32(value: u32) -> Option<CodePoint>
Create a new CodePoint
if the value is a valid code point.
Return None
if value
is above 0x10FFFF.
Sourcepub fn from_char(value: char) -> CodePoint
pub fn from_char(value: char) -> CodePoint
Create a new CodePoint
from a char
.
Since all Unicode scalar values are code points, this always succeds.
Sourcepub fn to_char(&self) -> Option<char>
pub fn to_char(&self) -> Option<char>
Optionally return a Unicode scalar value for the code point.
Return None
if the code point is a surrogate (from U+D800 to U+DFFF).
Sourcepub fn to_char_lossy(&self) -> char
pub fn to_char_lossy(&self) -> char
Return a Unicode scalar value for the code point.
Return '\u{FFFD}'
(the replacement character “�”)
if the code point is a surrogate (from U+D800 to U+DFFF).
Trait Implementations§
Source§impl Debug for CodePoint
impl Debug for CodePoint
Format the code point as U+
followed by four to six hexadecimal digits.
Example: U+1F4A9
Source§impl Extend<CodePoint> for Wtf8Buf
impl Extend<CodePoint> for Wtf8Buf
Append code points from an iterator to the string.
This replaces surrogate code point pairs with supplementary code points, like concatenating ill-formed UTF-16 strings effectively would.
Source§fn extend<T: IntoIterator<Item = CodePoint>>(&mut self, iterable: T)
fn extend<T: IntoIterator<Item = CodePoint>>(&mut self, iterable: T)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Source§impl FromIterator<CodePoint> for Wtf8Buf
impl FromIterator<CodePoint> for Wtf8Buf
Create a new WTF-8 string from an iterator of code points.
This replaces surrogate code point pairs with supplementary code points, like concatenating ill-formed UTF-16 strings effectively would.
Source§impl Ord for CodePoint
impl Ord for CodePoint
Source§impl PartialOrd for CodePoint
impl PartialOrd for CodePoint
impl Copy for CodePoint
impl Eq for CodePoint
impl StructuralPartialEq for CodePoint
Auto Trait Implementations§
impl Freeze for CodePoint
impl RefUnwindSafe for CodePoint
impl Send for CodePoint
impl Sync for CodePoint
impl Unpin for CodePoint
impl UnwindSafe for CodePoint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)