pub struct ControlId;
Expand description
Adding “NODE_ID”, “BEGIN_ID”, and “END_ID” attribute to control statement
Implementations§
Source§impl ControlId
impl ControlId
Sourcepub fn compute_unique_ids(
con: &mut Control,
cur_state: u64,
two_if_ids: bool,
) -> u64
pub fn compute_unique_ids( con: &mut Control, cur_state: u64, two_if_ids: bool, ) -> u64
Adds the @NODE_ID attribute to all control stmts except emtpy ones. If two_if_ids is true, then if statements get a BEGIN_ID and END_ID instead of a NODE_ID
§Example:
seq { A; if cond {X} else{Y}; par { C; D; }; E }
gets the labels (if two_if_ids is):
@NODE_ID(0)seq {
@NODE_ID(1) A;
@BEGIN_ID(2) @END_ID(5) if cond {
@NODE_ID(3) X
}
else{
@NODE_ID(4) Y
}
@NODE_ID(6) par {
@NODE_ID(7) C;
@NODE_ID(8) D;
}
@NODE_ID(9) E;
}
if two_if_ids were false, the if statement would just get a single NODE_ID
pub fn get_guaranteed_attribute<A>(c: &Control, attr: A) -> u64
pub fn get_guaranteed_attribute_static<A>(sc: &StaticControl, attr: A) -> u64
pub fn get_guaranteed_id(c: &Control) -> u64
pub fn get_guaranteed_id_static(sc: &StaticControl) -> u64
pub fn add_static_enable_ids_static( scon: &mut StaticControl, cur_state: u64, ) -> u64
pub fn add_static_enable_ids(con: &mut Control, cur_state: u64) -> u64
pub fn get_guaranteed_enable_id(se: &StaticEnable) -> u64
Auto Trait Implementations§
impl Freeze for ControlId
impl RefUnwindSafe for ControlId
impl Send for ControlId
impl Sync for ControlId
impl Unpin for ControlId
impl UnwindSafe for ControlId
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> 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