Struct exmex::Operator [−][src]
pub struct Operator<'a, T> { pub repr: &'a str, pub bin_op: Option<BinOp<T>>, pub unary_op: Option<fn(_: T) -> T>, }
Expand description
Operators can be custom-defined by the library-user in terms of this struct.
Examples
use exmex::{BinOp, Operator}; let ops = vec![ Operator { repr: "-", bin_op: Some(BinOp { apply: |a, b| a - b, prio: 0, }), unary_op: Some(|a: f32| (-a)), }, Operator { repr: "sin", bin_op: None, unary_op: Some(|a: f32| a.sin()), } ];
Fields
repr: &'a str
Representation of the operator in the string to be parsed, e.g., -
or sin
.
bin_op: Option<BinOp<T>>
Binary operator that contains a priority besides a function pointer, if available.
unary_op: Option<fn(_: T) -> T>
Unary operator that does not have an explicit priority. Unary operators have
higher priority than binary opertors, e.g., -1^2 == 1
.
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<'a, T> RefUnwindSafe for Operator<'a, T>
impl<'a, T> UnwindSafe for Operator<'a, T>
Blanket Implementations
Mutably borrows from an owned value. Read more