Struct yrs::YEventChange
source · #[repr(C)]pub struct YEventChange {
pub tag: u8,
pub len: u32,
pub values: *const YOutput,
}
Expand description
A data type representing a single change detected over an observed shared collection. A type
of change can be detected using a tag
field:
Y_EVENT_CHANGE_ADD
marks a new elements added to a collection. In this casevalues
field contains a pointer to a list of newly inserted values, whilelen
field informs about their count.Y_EVENT_CHANGE_DELETE
marks an existing elements removed from the collection. In this caselen
field informs about number of removed elements.Y_EVENT_CHANGE_RETAIN
marks a number of elements that have not been changed, counted from the previous element.len
field informs about number of retained elements.
A list of changes returned by yarray_event_delta
/yxml_event_delta
enables to locate a
position of all changes within an observed collection by using a combination of added/deleted
change structs separated by retained changes (marking eg. number of elements that can be safely
skipped, since they remained unchanged).
Fields§
§tag: u8
Tag field used to identify particular type of change made:
Y_EVENT_CHANGE_ADD
marks a new elements added to a collection. In this casevalues
field contains a pointer to a list of newly inserted values, whilelen
field informs about their count.Y_EVENT_CHANGE_DELETE
marks an existing elements removed from the collection. In this caselen
field informs about number of removed elements.Y_EVENT_CHANGE_RETAIN
marks a number of elements that have not been changed, counted from the previous element.len
field informs about number of retained elements.
len: u32
Number of element affected by current type of a change. It can refer to a number of
inserted values
, number of deleted element or a number of retained (unchanged) values.
values: *const YOutput
Used in case when current change is of Y_EVENT_CHANGE_ADD
type. Contains a list (of
length stored in len
field) of newly inserted values.