pub enum CrdtScalar {
Int(i64),
Text(String),
Bool(bool),
}Expand description
A scalar CRDT element. CRDT collections are homogeneous, so a collection only ever
holds one of these variants in practice; the enum exists because the interpreter is
dynamically typed and the element type is not threaded through struct_defs.
Variants§
Implementations§
Source§impl CrdtScalar
impl CrdtScalar
Sourcepub fn from_runtime(value: &RuntimeValue) -> Result<CrdtScalar, String>
pub fn from_runtime(value: &RuntimeValue) -> Result<CrdtScalar, String>
Project a RuntimeValue onto a CRDT element. Only the scalar types the surface
syntax can put in a shared collection are accepted; anything else is a type error
at the seam (never a silent coercion).
Sourcepub fn to_runtime(&self) -> RuntimeValue
pub fn to_runtime(&self) -> RuntimeValue
Reconstitute a RuntimeValue from a CRDT element.
Trait Implementations§
Source§impl Clone for CrdtScalar
impl Clone for CrdtScalar
Source§fn clone(&self) -> CrdtScalar
fn clone(&self) -> CrdtScalar
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CrdtScalar
impl Debug for CrdtScalar
Source§impl<'de> Deserialize<'de> for CrdtScalar
impl<'de> Deserialize<'de> for CrdtScalar
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
Source§impl Hash for CrdtScalar
impl Hash for CrdtScalar
Source§impl Ord for CrdtScalar
impl Ord for CrdtScalar
Source§fn cmp(&self, other: &CrdtScalar) -> Ordering
fn cmp(&self, other: &CrdtScalar) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CrdtScalar
impl PartialEq for CrdtScalar
Source§fn eq(&self, other: &CrdtScalar) -> bool
fn eq(&self, other: &CrdtScalar) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for CrdtScalar
impl PartialOrd for CrdtScalar
Source§impl Serialize for CrdtScalar
impl Serialize for CrdtScalar
impl Eq for CrdtScalar
impl StructuralPartialEq for CrdtScalar
Auto Trait Implementations§
impl Freeze for CrdtScalar
impl RefUnwindSafe for CrdtScalar
impl Send for CrdtScalar
impl Sync for CrdtScalar
impl Unpin for CrdtScalar
impl UnsafeUnpin for CrdtScalar
impl UnwindSafe for CrdtScalar
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.