Trait clock_zones::storage::Layout [−][src]
pub trait Layout<B: Bound> { fn new(num_variables: usize, init: B) -> Self; fn set(&mut self, left: impl AnyClock, right: impl AnyClock, bound: B); unsafe fn set_unchecked(
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
); fn get(&self, left: impl AnyClock, right: impl AnyClock) -> &B; unsafe fn get_unchecked(
&self,
left: impl AnyClock,
right: impl AnyClock
) -> &B; }
Represents a storage layout for Dbm.
Required methods
fn new(num_variables: usize, init: B) -> Self
[src]
Initializes the storage for num_variables
clock variables using
init
as initial bound for all differences.
fn set(&mut self, left: impl AnyClock, right: impl AnyClock, bound: B)
[src]
Sets the bound for the clock difference left - right
.
unsafe fn set_unchecked(
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)
[src]
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)
Sets the bound for the clock difference left - right
.
Safety
Assumes that the indices of each clock are strictly less than num_variables
.
Causes undefined behavior otherwise.
fn get(&self, left: impl AnyClock, right: impl AnyClock) -> &B
[src]
Retrieves the bound for the clock difference left - right
.
unsafe fn get_unchecked(&self, left: impl AnyClock, right: impl AnyClock) -> &B
[src]
Retrieves the bound for the clock difference left - right
.
Safety
Assumes that the indices of each clock are strictly less than num_variables
.
Causes undefined behavior otherwise.
Implementors
impl<B: Bound> Layout<B> for LinearLayout<B>
[src]
impl<B: Bound> Layout<B> for LinearLayout<B>
[src]fn new(num_variables: usize, default: B) -> Self
[src]
fn set(&mut self, left: impl AnyClock, right: impl AnyClock, bound: B)
[src]
unsafe fn set_unchecked(
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)
[src]
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)
fn get(&self, left: impl AnyClock, right: impl AnyClock) -> &B
[src]
unsafe fn get_unchecked(&self, left: impl AnyClock, right: impl AnyClock) -> &B
[src]
impl<B: Bound> Layout<B> for MatrixLayout<B>
[src]
impl<B: Bound> Layout<B> for MatrixLayout<B>
[src]fn new(num_variables: usize, default: B) -> Self
[src]
fn set(&mut self, left: impl AnyClock, right: impl AnyClock, bound: B)
[src]
unsafe fn set_unchecked(
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)
[src]
&mut self,
left: impl AnyClock,
right: impl AnyClock,
bound: B
)