pub struct Set<T, Tag, CL>{ /* private fields */ }Expand description
Causal Length Set
Set implements the set described in the paper, with the addition of a tag. Set only uses the tag for garbage collection of old removed members.
Implementations§
Source§impl<T, Tag, CL> Set<T, Tag, CL>
impl<T, Tag, CL> Set<T, Tag, CL>
Sourcepub fn get<Q>(&self, member: Q) -> Option<Tag>where
Q: Borrow<T>,
pub fn get<Q>(&self, member: Q) -> Option<Tag>where
Q: Borrow<T>,
Returns None if member is not present in the set. If present returns Some(Tag)
Sourcepub fn contains<Q>(&self, member: Q) -> boolwhere
Q: Borrow<T>,
pub fn contains<Q>(&self, member: Q) -> boolwhere
Q: Borrow<T>,
Returns true if the set contains a value.
Sourcepub fn iter(&self) -> impl Iterator<Item = (&T, Tag)> + '_
pub fn iter(&self) -> impl Iterator<Item = (&T, Tag)> + '_
An iterator visiting all elements and tags in arbitrary order.
Sourcepub fn register_iter(&self) -> impl Iterator<Item = Register<T, Tag, CL>> + '_
pub fn register_iter(&self) -> impl Iterator<Item = Register<T, Tag, CL>> + '_
An iterator visiting all registers in arbitrary order.
Sourcepub fn merge_register(&mut self, delta: Register<T, Tag, CL>, min_tag: Tag)
pub fn merge_register(&mut self, delta: Register<T, Tag, CL>, min_tag: Tag)
Merge a delta Register into a set.
Remove registers with a tag value less than min_tag will be ignored.
Trait Implementations§
Source§impl<'de, T, Tag, CL> Deserialize<'de> for Set<T, Tag, CL>where
T: Eq + Hash + Clone + Deserialize<'de>,
Tag: TagT + Deserialize<'de>,
CL: CausalLength + Deserialize<'de>,
impl<'de, T, Tag, CL> Deserialize<'de> for Set<T, Tag, CL>where
T: Eq + Hash + Clone + Deserialize<'de>,
Tag: TagT + Deserialize<'de>,
CL: CausalLength + Deserialize<'de>,
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
impl<T, Tag, CL> Eq for Set<T, Tag, CL>
impl<T, Tag, CL> StructuralPartialEq for Set<T, Tag, CL>
Auto Trait Implementations§
impl<T, Tag, CL> Freeze for Set<T, Tag, CL>
impl<T, Tag, CL> RefUnwindSafe for Set<T, Tag, CL>
impl<T, Tag, CL> Send for Set<T, Tag, CL>
impl<T, Tag, CL> Sync for Set<T, Tag, CL>
impl<T, Tag, CL> Unpin for Set<T, Tag, CL>
impl<T, Tag, CL> UnsafeUnpin for Set<T, Tag, CL>
impl<T, Tag, CL> UnwindSafe for Set<T, Tag, CL>
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