pub struct BTreeStringTable<'a> { /* private fields */ }
Expand description

Default implementation just maintains a btree keyed on a 64-bit fxhash value

Implementations§

source§

impl<'a> BTreeStringTable<'a>

source

pub fn new() -> Self

Create a new string table with default initial capacity using the default hasher

Trait Implementations§

source§

impl<'a> Clone for BTreeStringTable<'a>

source§

fn clone(&self) -> Self

Clone the contents of a given BTreeStringTable instance

1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> StringTable<'a, u64> for BTreeStringTable<'a>

source§

fn add(&mut self, value: &str) -> u64

Add a new value to the string table. Returns the u32 hash value of the entry. If the entry already exists within the table, then this operation is idempotent, but the hash value is still returned.
source§

fn remove(&mut self, key: u64)

Attempts to remove a given value from the table.
source§

fn get(&self, key: u64) -> Option<&Cow<'a, str>>

Attempts to retrieve a given value from the table.
source§

fn len(&self) -> usize

The number of elements currently within the table
source§

fn contains(&self, value: &str) -> Option<u64>

Check whether a given value already exists within the table. If it does, then return the hash value associated with it. If not, just return None.
source§

fn hash(&self, value: &str) -> u64

Get the hash value associated with a given value. This should be consistent and repeatable between calls for the same value.

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for BTreeStringTable<'a>

§

impl<'a> Send for BTreeStringTable<'a>

§

impl<'a> Sync for BTreeStringTable<'a>

§

impl<'a> Unpin for BTreeStringTable<'a>

§

impl<'a> UnwindSafe for BTreeStringTable<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · 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 Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.