pub struct ScalarCursor {
pub obj_id: Option<ObjId>,
}Expand description
Cursor for scalar/primitive types that don’t have nested structure.
The ObjId passed to diff() and refresh() is the ObjId of the scalar
value itself (returned by doc.get()). When a scalar value is modified,
it gets a new ObjId, so comparing cached vs current ObjIds detects changes.
Fields§
§obj_id: Option<ObjId>The cached ObjId for this scalar value.
Trait Implementations§
Source§impl Clone for ScalarCursor
impl Clone for ScalarCursor
Source§fn clone(&self) -> ScalarCursor
fn clone(&self) -> ScalarCursor
Returns a duplicate of the value. Read more
1.0.0 · 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 ScalarCursor
impl Debug for ScalarCursor
Source§impl Default for ScalarCursor
impl Default for ScalarCursor
Source§fn default() -> ScalarCursor
fn default() -> ScalarCursor
Returns the “default value” for a type. Read more
Source§impl FieldCursor for ScalarCursor
impl FieldCursor for ScalarCursor
Source§type Changes = PrimitiveChanged
type Changes = PrimitiveChanged
The associated change report type.
Source§fn diff<D: ReadDoc>(&self, _doc: &D, obj: &ObjId) -> Result<Self::Changes>
fn diff<D: ReadDoc>(&self, _doc: &D, obj: &ObjId) -> Result<Self::Changes>
Compares cached ObjIds against the document to detect changes. Read more
Auto Trait Implementations§
impl Freeze for ScalarCursor
impl RefUnwindSafe for ScalarCursor
impl Send for ScalarCursor
impl Sync for ScalarCursor
impl Unpin for ScalarCursor
impl UnwindSafe for ScalarCursor
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more