[−][src]Struct evalexpr::Node
A node in the operator tree.
The operator tree is created by the crate-level build_operator_tree
method.
It can be evaluated for a given context with the Node::eval
method.
The advantage of constructing the operator tree separately from the actual evaluation is that it can be evaluated arbitrarily often with different contexts.
Examples
use evalexpr::*; let mut context = HashMapContext::new(); context.set_value("alpha", 2).unwrap(); // Do proper error handling here let node = build_operator_tree("1 + alpha").unwrap(); // Do proper error handling here assert_eq!(node.eval_with_context(&context), Ok(Value::from(3)));
Methods
impl Node
[src]
pub fn eval_with_context(&self, context: &dyn Context) -> EvalexprResult<Value>
[src]
Evaluates the operator tree rooted at this node with the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval(&self) -> EvalexprResult<Value>
[src]
Evaluates the operator tree rooted at this node with an empty context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_string_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<String>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<String>
Evaluates the operator tree rooted at this node into a string with an the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_float_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<FloatType>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<FloatType>
Evaluates the operator tree rooted at this node into a float with an the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_int_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<IntType>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<IntType>
Evaluates the operator tree rooted at this node into an integer with an the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_number_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<FloatType>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<FloatType>
Evaluates the operator tree rooted at this node into a float with an the given context. If the result of the expression is an integer, it is silently converted into a float.
Fails, if one of the operators in the expression tree fails.
pub fn eval_boolean_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<bool>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<bool>
Evaluates the operator tree rooted at this node into a boolean with an the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_tuple_with_context(
&self,
context: &dyn Context
) -> EvalexprResult<TupleType>
[src]
&self,
context: &dyn Context
) -> EvalexprResult<TupleType>
Evaluates the operator tree rooted at this node into a tuple with an the given context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_string(&self) -> EvalexprResult<String>
[src]
Evaluates the operator tree rooted at this node into a string with an empty context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_float(&self) -> EvalexprResult<FloatType>
[src]
Evaluates the operator tree rooted at this node into a float with an empty context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_int(&self) -> EvalexprResult<IntType>
[src]
Evaluates the operator tree rooted at this node into an integer with an empty context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_number(&self) -> EvalexprResult<FloatType>
[src]
Evaluates the operator tree rooted at this node into a float with an empty context. If the result of the expression is an integer, it is silently converted into a float.
Fails, if one of the operators in the expression tree fails.
pub fn eval_boolean(&self) -> EvalexprResult<bool>
[src]
Evaluates the operator tree rooted at this node into a boolean with an empty context.
Fails, if one of the operators in the expression tree fails.
pub fn eval_tuple(&self) -> EvalexprResult<TupleType>
[src]
Evaluates the operator tree rooted at this node into a tuple with an empty context.
Fails, if one of the operators in the expression tree fails.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,