pub struct PackedInterner<Key = u32, Idx = usize, H = BuildHasherDefault<FxHasher>> { /* private fields */ }
Expand description
Interner that checks for duplicates and will only intern a given string once. Using the lasso/rodeo hack for packed maps. First param (“Key”) is the id and must be big enough to fit total items; Second param (“Idx”) is an index into the string and must be greater than string len.
Implementations§
Source§impl<Key, Idx> PackedInterner<Key, Idx, BuildHasherDefault<FxHasher>>
impl<Key, Idx> PackedInterner<Key, Idx, BuildHasherDefault<FxHasher>>
pub fn with_capacity_and_avg_len(cap: usize, avg_len: usize) -> Self
pub fn with_capacity_and_str_len(cap: usize, str_len: usize) -> Self
Trait Implementations§
Source§impl<Key, Idx, H> From<PackedInterner<Key, Idx, H>> for Strs<Key, Idx>
impl<Key, Idx, H> From<PackedInterner<Key, Idx, H>> for Strs<Key, Idx>
Source§fn from(val: PackedInterner<Key, Idx, H>) -> Self
fn from(val: PackedInterner<Key, Idx, H>) -> Self
Converts to this type from the input type.
Source§impl<Key, Idx, H: BuildHasher> GetStr for PackedInterner<Key, Idx, H>where
KeyToStr<Key, Idx>: GetStr<Key = Key>,
impl<Key, Idx, H: BuildHasher> GetStr for PackedInterner<Key, Idx, H>where
KeyToStr<Key, Idx>: GetStr<Key = Key>,
Source§impl<Key, Idx, H: BuildHasher> InternStr for PackedInterner<Key, Idx, H>
impl<Key, Idx, H: BuildHasher> InternStr for PackedInterner<Key, Idx, H>
Auto Trait Implementations§
impl<Key, Idx, H> Freeze for PackedInterner<Key, Idx, H>where
H: Freeze,
impl<Key, Idx, H> RefUnwindSafe for PackedInterner<Key, Idx, H>
impl<Key, Idx, H> Send for PackedInterner<Key, Idx, H>
impl<Key, Idx, H> Sync for PackedInterner<Key, Idx, H>
impl<Key, Idx, H> Unpin for PackedInterner<Key, Idx, H>
impl<Key, Idx, H> UnwindSafe for PackedInterner<Key, Idx, H>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more