pub struct ExpressionIterator {
pub iterator: String,
pub binds: Vec<String>,
pub expression: Box<Expression>,
}
Expand description
Defines an iterator expression in eFLINT.
Note that this is different from operators like Count, which do not quantify themselves but rather process an already produced instance expression.
For example:
Foreach citizen : citizen.
Forall citizen : citizen.
Exists citizen : citizen.
Fields§
§iterator: String
The iterator operator to execute. See appendix::EFlintIteratorOperator for a list of known eFLINT operators.
binds: Vec<String>
The list of variables bound by this iterator. Basically the first occurrence of citizen
in:
Foreach citizen : citizen.
expression: Box<Expression>
The expression that is repeated for every quantified combination of bound variables.
For Foreach, this is an instance expressions. For Exists and Forall, these are boolean expressions.
Trait Implementations§
Source§impl Clone for ExpressionIterator
impl Clone for ExpressionIterator
Source§fn clone(&self) -> ExpressionIterator
fn clone(&self) -> ExpressionIterator
Returns a copy 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 ExpressionIterator
impl Debug for ExpressionIterator
Source§impl<'de> Deserialize<'de> for ExpressionIterator
impl<'de> Deserialize<'de> for ExpressionIterator
Source§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 Freeze for ExpressionIterator
impl RefUnwindSafe for ExpressionIterator
impl Send for ExpressionIterator
impl Sync for ExpressionIterator
impl Unpin for ExpressionIterator
impl UnwindSafe for ExpressionIterator
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