Struct adapton::reflect::Succ
[−]
[src]
pub struct Succ { pub dirty: bool, pub loc: Loc, pub effect: Effect, pub value: Val, pub is_dup: bool, }
Reflected version of engine::Succ
. Unlike the real engine's
Succ
type, this version stores a reflected value (of type
Val
).
Fields
dirty: bool
Dirty invariant: If this edge is dirty, then all predecessors of the edge are dirty too.
loc: Loc
The target of the outgoing Effect
effect: Effect
The effect: either producing or consuming articulated content
value: Val
The value either produced or consumed by this Effect
is_dup: bool
Duplicate edge invariant: If this edge is a duplicate according
to this flag, then it is preceded by an edge with the same
effect effect
, targeting the same location loc
.
Furthermore, because of the (precise naming) semantics of
Adapton and its programs, the observed value value
and dirty
statuses are always the same across duplicated edges. Hence,
the engine does not store these duplicate edges: They are
completely redundant.
Trait Implementations
impl Debug for Succ
[src]
impl Clone for Succ
[src]
fn clone(&self) -> Succ
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Eq for Succ
[src]
impl PartialEq for Succ
[src]
fn eq(&self, __arg_0: &Succ) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Succ) -> bool
[src]
This method tests for !=
.
impl Hash for Succ
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more