JoinInput

Trait JoinInput 

Source
pub trait JoinInput<'me, Tuple: Ord>: Copy {
    type RecentTuples: Deref<Target = [Tuple]>;
    type StableTuples: Deref<Target = [Relation<Tuple>]>;

    // Required methods
    fn recent(self) -> Self::RecentTuples;
    fn stable(self) -> Self::StableTuples;
}
Expand description

An input that can be used with from_join; either a Variable or a Relation.

Required Associated Types§

Source

type RecentTuples: Deref<Target = [Tuple]>

If we are on iteration N of the loop, these are the tuples added on iteration N-1. (For a Relation, this is always an empty slice.)

Source

type StableTuples: Deref<Target = [Relation<Tuple>]>

If we are on iteration N of the loop, these are the tuples added on iteration N - 2 or before. (For a Relation, this is just self.)

Required Methods§

Source

fn recent(self) -> Self::RecentTuples

Get the set of recent tuples.

Source

fn stable(self) -> Self::StableTuples

Get the set of stable tuples.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'me, Tuple: Ord> JoinInput<'me, Tuple> for &'me Relation<Tuple>

Source§

impl<'me, Tuple: Ord> JoinInput<'me, Tuple> for &'me Variable<Tuple>