pub struct ORMap<K, V: Merge + Default + Clone> { /* private fields */ }Expand description
An observed-remove map with nested CRDT values.
Keys are managed with OR-Set add-wins semantics. Values are merged using their CRDT merge function.
Implementations§
Source§impl<K: Hash + Eq + Clone, V: Merge + Default + Clone> ORMap<K, V>
impl<K: Hash + Eq + Clone, V: Merge + Default + Clone> ORMap<K, V>
Sourcepub fn new_random() -> Self
pub fn new_random() -> Self
Create a new map with a random replica ID.
Sourcepub fn get_or_insert(&mut self, key: K) -> &mut V
pub fn get_or_insert(&mut self, key: K) -> &mut V
Get a mutable reference to a value, creating the key if necessary. Always creates a new dot to ensure add-wins semantics.
Sourcepub fn get_mut(&mut self, key: &K) -> Option<&mut V>
pub fn get_mut(&mut self, key: &K) -> Option<&mut V>
Get a mutable reference to a value without creating a new dot. Use this for read-heavy access patterns where add-wins isn’t needed.
Sourcepub fn contains_key(&self, key: &K) -> bool
pub fn contains_key(&self, key: &K) -> bool
Check if a key exists in the map.
Trait Implementations§
Source§impl<K: Hash + Eq + Clone + Serialize + DeserializeOwned + Send + 'static, V: Merge + Default + Clone + Serialize + DeserializeOwned + Send + 'static> DeltaCrdt for ORMap<K, V>
impl<K: Hash + Eq + Clone + Serialize + DeserializeOwned + Send + 'static, V: Merge + Default + Clone + Serialize + DeserializeOwned + Send + 'static> DeltaCrdt for ORMap<K, V>
Source§impl<'de, K, V> Deserialize<'de> for ORMap<K, V>where
K: Serialize + DeserializeOwned + Hash + Eq,
V: Serialize + DeserializeOwned + Merge + Default + Clone,
impl<'de, K, V> Deserialize<'de> for ORMap<K, V>where
K: Serialize + DeserializeOwned + Hash + Eq,
V: Serialize + DeserializeOwned + Merge + Default + Clone,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<K, V> Freeze for ORMap<K, V>
impl<K, V> RefUnwindSafe for ORMap<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for ORMap<K, V>
impl<K, V> Sync for ORMap<K, V>
impl<K, V> Unpin for ORMap<K, V>
impl<K, V> UnwindSafe for ORMap<K, V>where
K: UnwindSafe,
V: UnwindSafe,
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