Trait arithmetic_eval::VariableMap[][src]

pub trait VariableMap<'a, T> {
    fn get_variable(&self, name: &str) -> Option<Value<'a, T>>;

    fn compile_module<Id, G>(
        &self,
        id: Id,
        block: &Block<'a, G>
    ) -> Result<ExecutableModule<'a, T>, Error<'a>>
    where
        Id: ModuleId,
        G: Grammar<'a, Lit = T>,
        T: Clone + Debug
, { ... } }
Expand description

Encapsulates read access to named variables.

Required methods

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]

Returns value of the named variable, or None if it is not defined.

Provided methods

fn compile_module<Id, G>(
    &self,
    id: Id,
    block: &Block<'a, G>
) -> Result<ExecutableModule<'a, T>, Error<'a>> where
    Id: ModuleId,
    G: Grammar<'a, Lit = T>,
    T: Clone + Debug
[src]

Creates a module based on imports solely from this map.

The default implementation is reasonable for most cases.

Implementors

impl<'a, T> VariableMap<'a, T> for Comparisons[src]

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]

impl<'a, T: Clone> VariableMap<'a, T> for Environment<'a, T>[src]

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]

impl<'a, T: Clone> VariableMap<'a, T> for ModuleImports<'a, T>[src]

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]

impl<'a, T: Clone> VariableMap<'a, T> for Prelude[src]

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]

impl<'a, T: Display> VariableMap<'a, T> for Assertions[src]

fn get_variable(&self, name: &str) -> Option<Value<'a, T>>[src]