Struct rhai::StringsInterner

source ·
pub struct StringsInterner { /* private fields */ }
Expand description

(internals) A cache for interned strings. Exported under the internals feature only.

Implementations§

source§

impl StringsInterner

source

pub fn new(max_strings_interned: usize) -> Self

Create a new StringsInterner.

source

pub fn get( &mut self, text: impl AsRef<str> + Into<ImmutableString> ) -> ImmutableString

Get an identifier from a text string, adding it to the interner if necessary.

source

pub fn set_max(&mut self, max: usize)

Set the maximum number of strings to be interned.

source

pub const fn max(&self) -> usize

The maximum number of strings to be interned.

source

pub fn get_with_mapper<S: AsRef<str>>( &mut self, category: u8, mapper: impl FnOnce(S) -> ImmutableString, text: S ) -> ImmutableString

Get an identifier from a text string, adding it to the interner if necessary.

source

pub fn len(&self) -> usize

Number of strings interned.

source

pub fn is_empty(&self) -> bool

Returns true if there are no interned strings.

source

pub fn clear(&mut self)

Clear all interned strings.

Trait Implementations§

source§

impl AddAssign<&StringsInterner> for StringsInterner

source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
source§

impl AddAssign for StringsInterner

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl Clone for StringsInterner

source§

fn clone(&self) -> StringsInterner

Returns a copy 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 StringsInterner

source§

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

Formats the value using the given formatter. Read more

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

§

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

§

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.
source§

impl<T> Variant for T
where T: Any + Clone + SendSync,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert this Variant trait object to &dyn Any.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert this Variant trait object to &mut dyn Any.
source§

fn as_boxed_any(self: Box<T>) -> Box<dyn Any>

Convert this Variant trait object to Box<dyn Any>.
source§

fn type_name(&self) -> &'static str

Get the name of this type.
source§

fn clone_object(&self) -> Box<dyn Variant>

Clone this Variant trait object.