[][src]Struct lark_intern::InternTable

pub struct InternTable<Key, Data> where
    Key: Copy + U32Index,
    Data: Clone + Hash + Eq
{ /* fields omitted */ }

An "intern table" defines a single interner for one key-value pair. They're meant to be grouped into a larger Interners struct, a la crate::ty::TyInterners, that define a series of interners related to some particular area.

Methods

impl<Key, Data> InternTable<Key, Data> where
    Key: Copy + U32Index,
    Data: Clone + Hash + Eq
[src]

pub fn get(&self, key: Key) -> Data
[src]

pub fn intern_check<D: ?Sized>(&self, data: &D) -> Option<Key> where
    D: Equivalent<Data> + Hash
[src]

pub fn intern(&mut self, data: Data) -> Key
[src]

Trait Implementations

impl<Key, Data> Default for InternTable<Key, Data> where
    Key: Copy + U32Index,
    Data: Clone + Hash + Eq
[src]

impl<Key: Debug, Data: Debug> Debug for InternTable<Key, Data> where
    Key: Copy + U32Index,
    Data: Clone + Hash + Eq
[src]

Auto Trait Implementations

impl<Key, Data> Send for InternTable<Key, Data> where
    Data: Send,
    Key: Send

impl<Key, Data> Sync for InternTable<Key, Data> where
    Data: Sync,
    Key: Sync

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<Cx, T> FmtWithSpecialized for T where
    Cx: ?Sized,
    T: Debug + ?Sized

impl<T> Erased for T