[−][src]Struct lever::table::lotable::LOTable
Lever Transactional Table implementation with Optimistic concurrency and RepeatableRead isolation.
Transactional hash table fully concurrent and as long as no conflicts are made it is both lock and wait free.
Implementations
impl<K, V> LOTable<K, V, RandomState> where
K: PartialEq + Eq + Hash + Clone + Send + Sync,
V: Clone + Send + Sync,
[src]
K: PartialEq + Eq + Hash + Clone + Send + Sync,
V: Clone + Send + Sync,
pub fn new() -> Self
[src]
pub fn with_capacity(cap: usize) -> Self
[src]
impl<K, V, S> LOTable<K, V, S> where
K: PartialEq + Eq + Hash + Clone + Send + Sync,
V: Clone + Send + Sync,
S: BuildHasher,
[src]
K: PartialEq + Eq + Hash + Clone + Send + Sync,
V: Clone + Send + Sync,
S: BuildHasher,
pub fn insert(&self, k: K, v: V) -> Result<Arc<Option<V>>>
[src]
pub fn remove(&self, k: &K) -> Result<Arc<Option<V>>>
[src]
pub fn get(&self, k: &K) -> Option<V>
[src]
pub fn contains_key(&self, k: &K) -> bool
[src]
pub fn len(&self) -> usize
[src]
pub fn iter(&self) -> LOIter<K, V>ⓘ
[src]
pub fn clear(&self)
[src]
pub fn keys<'table>(&'table self) -> impl Iterator<Item = K> + 'table
[src]
pub fn values<'table>(&'table self) -> impl Iterator<Item = V> + 'table
[src]
pub fn tx_manager(&self) -> Arc<TxnManager>
[src]
Trait Implementations
impl<K: Clone, V: Clone, S: Clone> Clone for LOTable<K, V, S> where
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync,
V: 'static + Clone + Send + Sync,
S: BuildHasher,
[src]
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync,
V: 'static + Clone + Send + Sync,
S: BuildHasher,
impl<K, V, S> Debug for LOTable<K, V, S> where
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync + Debug,
V: 'static + Clone + Send + Sync + Debug,
S: BuildHasher,
[src]
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync + Debug,
V: 'static + Clone + Send + Sync + Debug,
S: BuildHasher,
impl<K, V, S> Default for LOTable<K, V, S> where
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync,
V: 'static + Clone + Send + Sync,
S: Default + BuildHasher,
[src]
K: 'static + PartialEq + Eq + Hash + Clone + Send + Sync,
V: 'static + Clone + Send + Sync,
S: Default + BuildHasher,
Auto Trait Implementations
impl<K, V, S = RandomState> !RefUnwindSafe for LOTable<K, V, S>
impl<K, V, S> Send for LOTable<K, V, S> where
S: Send,
S: Send,
impl<K, V, S> Sync for LOTable<K, V, S> where
S: Sync,
S: Sync,
impl<K, V, S> Unpin for LOTable<K, V, S> where
S: Unpin,
S: Unpin,
impl<K, V, S = RandomState> !UnwindSafe for LOTable<K, V, S>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,