Struct MaybeMarkerCodepoint

Source
pub struct MaybeMarkerCodepoint(/* private fields */);
Expand description

A value which is either char or a special marker.

Implementations§

Source§

impl MaybeMarkerCodepoint

Source

pub const MAX_LEN_UTF8: usize = 4usize

The maximum length of this value, when encoded as UTF8.

Currently 4 bytes, the same as char::MAX_LEN_UTF8.

Source

pub fn from_u32(x: u32) -> Option<Self>

Create this value from a u32, returning None if invalid.

Source

pub fn from_char(c: char) -> Self

Convert from a standard character.

Cannot fail.

Source

pub unsafe fn from_u32_unchecked(u: u32) -> Self

Create this value from a raw u32, without checking for validity.

§Safety

Undefined behavior if neither a valid character nor a marker.

Source

pub fn to_char(&self) -> Result<char, SpecialMarker>

Convert this value into a char, returning the corresponding marker value otherwise.

Source

pub fn to_marker(&self) -> Result<SpecialMarker, char>

Convert this value into a SpecialMarker value, returning a char otherwise.

Source

pub fn encode_utf8(&self, output: &mut [u8]) -> usize

UTF8 encode this character into a buffer, returning the number of characters which were written.

Differs from char::encode_utf8, because marker characters are encoded specially as the corresponding SpecialMarker::utf8_marker.

§Panics

Panics if there is insufficient space to encode this value. Using Self::MAX_LEN_UTF8 bytes of space is always sufficient.

Trait Implementations§

Source§

impl Clone for MaybeMarkerCodepoint

Source§

fn clone(&self) -> MaybeMarkerCodepoint

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MaybeMarkerCodepoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<SpecialMarker> for MaybeMarkerCodepoint

Source§

fn from(value: SpecialMarker) -> Self

Converts to this type from the input type.
Source§

impl From<char> for MaybeMarkerCodepoint

Source§

fn from(value: char) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<char> for MaybeMarkerCodepoint

Source§

fn eq(&self, other: &char) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for MaybeMarkerCodepoint

Source§

fn eq(&self, other: &MaybeMarkerCodepoint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MaybeMarkerCodepoint

Source§

impl Eq for MaybeMarkerCodepoint

Source§

impl StructuralPartialEq for MaybeMarkerCodepoint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.