[][src]Trait declarative_dataflow::binding::AsBinding

pub trait AsBinding {
    fn variables(&self) -> Vec<u32>;
fn binds(&self, variable: u32) -> Option<usize>;
fn required_to_extend(
        &self,
        prefix: &dyn AsBinding,
        target: u32
    ) -> Option<Option<u32>>;
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>; fn can_extend(&self, prefix: &dyn AsBinding, target: u32) -> bool { ... } }

A thing that can act as a binding of values to variables.

Required methods

fn variables(&self) -> Vec<u32>

All variables bound by this binding.

fn binds(&self, variable: u32) -> Option<usize>

Iff the binding has opinions about the given variable, this will return the offset, otherwise None.

fn required_to_extend(
    &self,
    prefix: &dyn AsBinding,
    target: u32
) -> Option<Option<u32>>

Returns an optional variable which must be bound by the prefix in order for this binding to extend the prefix. If None, then this binding can never be used to extend the prefix to the specified variable (e.g. because it doesn't even bind it).

fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>

Returns an optional variable by which this binding could extend the given prefix.

Loading content...

Provided methods

fn can_extend(&self, prefix: &dyn AsBinding, target: u32) -> bool

Returns true iff the binding is ready to participate in the extension of a set of prefix variables to a new variable.

Loading content...

Implementations on Foreign Types

impl AsBinding for Vec<u32>[src]

Loading content...

Implementors

impl AsBinding for Binding[src]

impl AsBinding for AntijoinBinding[src]

impl AsBinding for AttributeBinding[src]

impl AsBinding for BinaryPredicateBinding[src]

impl AsBinding for ConstantBinding[src]

impl<'a, G: Scope> AsBinding for Implemented<'a, G> where
    G::Timestamp: Lattice + ExchangeData
[src]

impl<'a, G: Scope> AsBinding for CollectionRelation<'a, G> where
    G::Timestamp: Lattice + ExchangeData
[src]

Loading content...