Struct forth3::fastr::TmpFaStr

source ·
pub struct TmpFaStr<'a> {
    stir: PhantomData<&'a str>,
    fastr: FaStr,
}

Fields§

§stir: PhantomData<&'a str>§fastr: FaStr

Implementations§

source§

impl<'a> TmpFaStr<'a>

source

pub fn new_from(stir: &'a str) -> Self

Methods from Deref<Target = FaStr>§

source

pub fn as_ptr(&self) -> *const u8

source

pub fn as_bytes(&self) -> &[u8]

source

pub fn as_str(&self) -> &str

source

pub fn raw(&self) -> u32

source

pub(crate) unsafe fn copy_in_child(&self) -> Self

Returns a copy of this FaStr pointing to the same data.

§Safety

This aliases the memory location pointed to by this FaStr, and therefore is subject to the same invariants as FaStr::new — the memory area must live as long as the returned FaStr does. In practice this is safe to call when the caller knows that the Dictionary bump arena that self points into will live as long as the dictionary in which the returned FaStr will be stored — such as when the FaStr’s dictionary is kept alive by a parent reference from a child dictionary in which the new FaStr will be used.

Trait Implementations§

source§

impl<'a> Deref for TmpFaStr<'a>

§

type Target = FaStr

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'a> Freeze for TmpFaStr<'a>

§

impl<'a> RefUnwindSafe for TmpFaStr<'a>

§

impl<'a> !Send for TmpFaStr<'a>

§

impl<'a> !Sync for TmpFaStr<'a>

§

impl<'a> Unpin for TmpFaStr<'a>

§

impl<'a> UnwindSafe for TmpFaStr<'a>

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> 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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.