Struct libpijul::change::NewEdge [−][src]
pub struct NewEdge<Change> { pub previous: EdgeFlags, pub flag: EdgeFlags, pub from: Position<Change>, pub to: Vertex<Change>, pub introduced_by: Change, }
Fields
previous: EdgeFlags
flag: EdgeFlags
from: Position<Change>
The origin of the edge, i.e. if a vertex split is needed, the
left-hand side of the split will include from.pos
. This
means that splitting vertex [a, b[
to apply this edge
modification will yield vertices [a, from.pos+1[
and
[from.pos+1, b[
.
to: Vertex<Change>
The destination of the edge, i.e. the last byte affected by this change.
introduced_by: Change
The change that introduced the previous version of the edge
(the one being replaced by this NewEdge
).
Trait Implementations
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
Auto Trait Implementations
impl<Change> RefUnwindSafe for NewEdge<Change> where
Change: RefUnwindSafe,
impl<Change> UnwindSafe for NewEdge<Change> where
Change: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self