Struct exmex::BinOp [−][src]
pub struct BinOp<T: Clone> {
pub apply: fn(_: T, _: T) -> T,
pub prio: i64,
pub is_commutative: bool,
}
Expand description
A binary operator that consists of a function pointer, a priority, and a commutativity-flag.
Fields
apply: fn(_: T, _: T) -> T
Implementation of the binary operation, e.g., |a, b| a * b
for multiplication.
prio: i64
Priority of the binary operation. A binary operation with a
higher number will be executed first. For instance, in a sane world *
has a higher priority than +
. However, in Exmex land you could also define
this differently.
is_commutative: bool
True if this is a commutative operator such as *
or +
, false if not such as -
, /
, or ^
.
Commutativity is used to compile sub-expressions of numbers correctly.
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for BinOp<T>
impl<T> UnwindSafe for BinOp<T>
Blanket Implementations
Mutably borrows from an owned value. Read more