Trait string_interner::Symbol

source ·
pub trait Symbol: Copy + Eq {
    // Required methods
    fn try_from_usize(index: usize) -> Option<Self>;
    fn to_usize(self) -> usize;
}
Expand description

Types implementing this trait can be used as symbols for string interners.

The StringInterner::get_or_intern method returns Symbol types that allow to look-up the original string using StringInterner::resolve.

§Note

Optimal symbols allow for efficient comparisons and have a small memory footprint.

Required Methods§

source

fn try_from_usize(index: usize) -> Option<Self>

Creates a symbol from a usize.

Returns None if index is out of bounds for the symbol.

source

fn to_usize(self) -> usize

Returns the usize representation of self.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Symbol for usize

Implementors§