Skip to main content

AbstractEnvironment

Trait AbstractEnvironment 

Source
pub trait AbstractEnvironment<V, D: AbstractDomain>: AbstractDomain {
    type ContainerType;

    // Required methods
    fn bindings(&self) -> Option<&Self::ContainerType>;
    fn into_bindings(self) -> Option<Self::ContainerType>;
    fn len(&self) -> usize;
    fn is_empty(&self) -> bool;
    fn get(&self, variable: &V) -> Cow<'_, D>;
    fn set(&mut self, variable: V, domain: D);
    fn update(&mut self, variable: &V, op: impl FnOnce(&mut D));
}

Required Associated Types§

Required Methods§

Source

fn bindings(&self) -> Option<&Self::ContainerType>

Source

fn into_bindings(self) -> Option<Self::ContainerType>

Source

fn len(&self) -> usize

Source

fn is_empty(&self) -> bool

Source

fn get(&self, variable: &V) -> Cow<'_, D>

Source

fn set(&mut self, variable: V, domain: D)

Source

fn update(&mut self, variable: &V, op: impl FnOnce(&mut D))

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§