[−][src]Trait declarative_dataflow::binding::AsBinding
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>>
&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.
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.
Implementations on Foreign Types
impl AsBinding for Vec<u32>
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, _prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
_prefix: &dyn AsBinding,
_target: u32
) -> Option<Option<u32>>
[src]
&self,
_prefix: &dyn AsBinding,
_target: u32
) -> Option<Option<u32>>
Implementors
impl AsBinding for Binding
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl AsBinding for AntijoinBinding
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl AsBinding for AttributeBinding
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl AsBinding for BinaryPredicateBinding
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl AsBinding for ConstantBinding
[src]
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl<'a, G: Scope> AsBinding for Implemented<'a, G> where
G::Timestamp: Lattice + ExchangeData,
[src]
G::Timestamp: Lattice + ExchangeData,
fn variables(&self) -> Vec<u32>
[src]
fn binds(&self, variable: u32) -> Option<usize>
[src]
fn ready_to_extend(&self, prefix: &dyn AsBinding) -> Option<u32>
[src]
fn required_to_extend(
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
[src]
&self,
prefix: &dyn AsBinding,
target: u32
) -> Option<Option<u32>>
impl<'a, G: Scope> AsBinding for CollectionRelation<'a, G> where
G::Timestamp: Lattice + ExchangeData,
[src]
G::Timestamp: Lattice + ExchangeData,