OnceMap

Struct OnceMap 

Source
pub struct OnceMap<K, V> { /* private fields */ }
Expand description

A map structure where each key can be set only once

This allows the get function to safely return unwrapped references to the values, while still allowing concurrent inserts.

Implementations§

Source§

impl<K, V> OnceMap<K, V>
where K: Hash + Zeroable + Pod + PartialEq + Eq, V: Zeroable + Pod,

Source

pub fn insert(&self, k: K, v: V) -> Result<()>

Insert a key-value pair into the map

Source

pub fn get<O: Borrow<K>>(&self, o: &O) -> Option<&V>

Gets the value corresponding to the key, if any

Trait Implementations§

Source§

impl<K, V> Substructure for OnceMap<K, V>

Source§

fn init(lf: GuardedLandfill) -> Result<Self>

Initialize a datastructure of this type, backed by landfill
Source§

fn flush(&self) -> Result<()>

Flush all data to disk

Auto Trait Implementations§

§

impl<K, V> !Freeze for OnceMap<K, V>

§

impl<K, V> !RefUnwindSafe for OnceMap<K, V>

§

impl<K, V> Send for OnceMap<K, V>
where V: Send, K: Send,

§

impl<K, V> Sync for OnceMap<K, V>
where V: Sync, K: Sync,

§

impl<K, V> Unpin for OnceMap<K, V>
where V: Unpin, K: Unpin,

§

impl<K, V> !UnwindSafe for OnceMap<K, V>

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V