pub struct DisjunctionTargetConfig {
property_name: String,
targets: Vec<TargetConfig>,
}Expand description
Disjunction over multiple target configurations
This type represents a disjunction of TargetConfig
Fields§
§property_name: StringName of the property this specification has been derived from
targets: Vec<TargetConfig>Sets of target configurations
Implementations§
Source§impl DisjunctionTargetConfig
impl DisjunctionTargetConfig
Sourcefn new_with_single_disjunct(name: String, u: TargetConfig) -> Self
fn new_with_single_disjunct(name: String, u: TargetConfig) -> Self
Create a disjunction only containing a single disjunct
Sourcepub fn new_from_targets<I: IntoIterator<Item = TargetConfig>>(
name: String,
disj: I,
) -> Self
pub fn new_from_targets<I: IntoIterator<Item = TargetConfig>>( name: String, disj: I, ) -> Self
Create a disjunction from the given disjuncts
Sourcepub fn contains_reachability_constraint(&self) -> bool
pub fn contains_reachability_constraint(&self) -> bool
Check whether the disjunction contains a reachability constraint
A reachability constraint requires at least one location to be empty.
Sourcepub fn get_locations_appearing(&self) -> HashSet<&Location>
pub fn get_locations_appearing(&self) -> HashSet<&Location>
Get the locations appearing in the specifications
Sourcepub fn get_target_configs(&self) -> impl Iterator<Item = &TargetConfig>
pub fn get_target_configs(&self) -> impl Iterator<Item = &TargetConfig>
Get the included target configurations
Trait Implementations§
Source§impl And for DisjunctionTargetConfig
impl And for DisjunctionTargetConfig
Source§fn and(self, other: DisjunctionTargetConfig) -> DisjunctionTargetConfig
fn and(self, other: DisjunctionTargetConfig) -> DisjunctionTargetConfig
Get the conjunction of
self and otherSource§impl Clone for DisjunctionTargetConfig
impl Clone for DisjunctionTargetConfig
Source§fn clone(&self) -> DisjunctionTargetConfig
fn clone(&self) -> DisjunctionTargetConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DisjunctionTargetConfig
impl Debug for DisjunctionTargetConfig
Source§impl Display for DisjunctionTargetConfig
impl Display for DisjunctionTargetConfig
Source§impl<C: SMTVariableContext<Location> + SMTVariableContext<Variable> + SMTVariableContext<Parameter>> EncodeToSMT<DisjunctionTargetConfig, C> for DisjunctionTargetConfig
impl<C: SMTVariableContext<Location> + SMTVariableContext<Variable> + SMTVariableContext<Parameter>> EncodeToSMT<DisjunctionTargetConfig, C> for DisjunctionTargetConfig
Source§impl Or for DisjunctionTargetConfig
impl Or for DisjunctionTargetConfig
Source§impl PartialEq for DisjunctionTargetConfig
impl PartialEq for DisjunctionTargetConfig
Source§impl TargetSpec for DisjunctionTargetConfig
impl TargetSpec for DisjunctionTargetConfig
Source§fn get_locations_in_target(&self) -> impl IntoIterator<Item = &Location>
fn get_locations_in_target(&self) -> impl IntoIterator<Item = &Location>
Get the locations that appear in the target Read more
Source§fn get_variable_constraint(
&self,
) -> impl IntoIterator<Item = &LIAVariableConstraint>
fn get_variable_constraint( &self, ) -> impl IntoIterator<Item = &LIAVariableConstraint>
Get the variable constraints that appear in target Read more
impl StructuralPartialEq for DisjunctionTargetConfig
Auto Trait Implementations§
impl Freeze for DisjunctionTargetConfig
impl RefUnwindSafe for DisjunctionTargetConfig
impl Send for DisjunctionTargetConfig
impl Sync for DisjunctionTargetConfig
impl Unpin for DisjunctionTargetConfig
impl UnwindSafe for DisjunctionTargetConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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