Enum crdts::orswot::Op [−][src]
pub enum Op<M, A: Ord> { Add { dot: Dot<A>, members: Vec<M>, }, Rm { clock: VClock<A>, members: Vec<M>, }, }
Op’s define an edit to an Orswot, Op’s must be replayed in the exact order they were produced to guarantee convergence.
Op’s are idempotent, that is, applying an Op twice will not have an effect
Variants
Add members to the set
Remove member from the set
Trait Implementations
impl<A: Ord + Hash + Arbitrary + Debug, M: Hash + Eq + Arbitrary> Arbitrary for Op<M, A>
[src]
impl<M: Clone, A: Clone + Ord> Clone for Op<M, A>
[src]
impl<M: Debug, A: Ord + Hash + Debug> Debug for Op<M, A>
[src]
impl<'de, M, A: Ord> Deserialize<'de> for Op<M, A> where
M: Deserialize<'de>,
A: Deserialize<'de>,
[src]
M: Deserialize<'de>,
A: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<M: Eq, A: Eq + Ord> Eq for Op<M, A>
[src]
impl<M: Hash, A: Hash + Ord> Hash for Op<M, A>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<M: PartialEq, A: PartialEq + Ord> PartialEq<Op<M, A>> for Op<M, A>
[src]
impl<M, A: Ord> Serialize for Op<M, A> where
M: Serialize,
A: Serialize,
[src]
M: Serialize,
A: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<M, A: Ord> StructuralEq for Op<M, A>
[src]
impl<M, A: Ord> StructuralPartialEq for Op<M, A>
[src]
Auto Trait Implementations
impl<M, A> RefUnwindSafe for Op<M, A> where
A: RefUnwindSafe,
M: RefUnwindSafe,
A: RefUnwindSafe,
M: RefUnwindSafe,
impl<M, A> Send for Op<M, A> where
A: Send,
M: Send,
A: Send,
M: Send,
impl<M, A> Sync for Op<M, A> where
A: Sync,
M: Sync,
A: Sync,
M: Sync,
impl<M, A> Unpin for Op<M, A> where
A: Unpin,
M: Unpin,
A: Unpin,
M: Unpin,
impl<M, A> UnwindSafe for Op<M, A> where
A: RefUnwindSafe + UnwindSafe,
M: UnwindSafe,
A: RefUnwindSafe + UnwindSafe,
M: UnwindSafe,
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,