[][src]Trait codd::expression::Visitor

pub trait Visitor: Sized {
    fn visit_full<T>(&mut self, full: &Full<T>)
    where
        T: Tuple
, { ... }
fn visit_empty<T>(&mut self, empty: &Empty<T>)
    where
        T: Tuple
, { ... }
fn visit_singleton<T>(&mut self, singleton: &Singleton<T>)
    where
        T: Tuple
, { ... }
fn visit_relation<T>(&mut self, relation: &Relation<T>)
    where
        T: Tuple
, { ... }
fn visit_select<T, E>(&mut self, select: &Select<T, E>)
    where
        T: Tuple,
        E: Expression<T>
, { ... }
fn visit_union<T, L, R>(&mut self, union: &Union<T, L, R>)
    where
        T: Tuple,
        L: Expression<T>,
        R: Expression<T>
, { ... }
fn visit_intersect<T, L, R>(&mut self, intersect: &Intersect<T, L, R>)
    where
        T: Tuple,
        L: Expression<T>,
        R: Expression<T>
, { ... }
fn visit_difference<T, L, R>(&mut self, difference: &Difference<T, L, R>)
    where
        T: Tuple,
        L: Expression<T>,
        R: Expression<T>
, { ... }
fn visit_project<S, T, E>(&mut self, project: &Project<S, T, E>)
    where
        T: Tuple,
        S: Tuple,
        E: Expression<S>
, { ... }
fn visit_product<L, R, Left, Right, T>(
        &mut self,
        product: &Product<L, R, Left, Right, T>
    )
    where
        L: Tuple,
        R: Tuple,
        T: Tuple,
        Left: Expression<L>,
        Right: Expression<R>
, { ... }
fn visit_join<K, L, R, Left, Right, T>(
        &mut self,
        join: &Join<K, L, R, Left, Right, T>
    )
    where
        K: Tuple,
        L: Tuple,
        R: Tuple,
        T: Tuple,
        Left: Expression<L>,
        Right: Expression<R>
, { ... }
fn visit_view<T, E>(&mut self, view: &View<T, E>)
    where
        T: Tuple,
        E: Expression<T>
, { ... } }

Is the trait of objects that visit sub-expressions of an Expression. The default implementation guides the visitor through all sub-expressions of the expressions that is visited.

Provided methods

fn visit_full<T>(&mut self, full: &Full<T>) where
    T: Tuple

Visits the Full expression.

fn visit_empty<T>(&mut self, empty: &Empty<T>) where
    T: Tuple

Visits the Empty expression.

fn visit_singleton<T>(&mut self, singleton: &Singleton<T>) where
    T: Tuple

Visits a Singlenton expression.

fn visit_relation<T>(&mut self, relation: &Relation<T>) where
    T: Tuple

Visits a Relation expression.

fn visit_select<T, E>(&mut self, select: &Select<T, E>) where
    T: Tuple,
    E: Expression<T>, 

Visits a Select expression.

fn visit_union<T, L, R>(&mut self, union: &Union<T, L, R>) where
    T: Tuple,
    L: Expression<T>,
    R: Expression<T>, 

Visits a Union expression.

fn visit_intersect<T, L, R>(&mut self, intersect: &Intersect<T, L, R>) where
    T: Tuple,
    L: Expression<T>,
    R: Expression<T>, 

Visits an Intersect expression.

fn visit_difference<T, L, R>(&mut self, difference: &Difference<T, L, R>) where
    T: Tuple,
    L: Expression<T>,
    R: Expression<T>, 

Visits a Difference expression.

fn visit_project<S, T, E>(&mut self, project: &Project<S, T, E>) where
    T: Tuple,
    S: Tuple,
    E: Expression<S>, 

Visits a Project expression.

fn visit_product<L, R, Left, Right, T>(
    &mut self,
    product: &Product<L, R, Left, Right, T>
) where
    L: Tuple,
    R: Tuple,
    T: Tuple,
    Left: Expression<L>,
    Right: Expression<R>, 

Visits a Product expression.

fn visit_join<K, L, R, Left, Right, T>(
    &mut self,
    join: &Join<K, L, R, Left, Right, T>
) where
    K: Tuple,
    L: Tuple,
    R: Tuple,
    T: Tuple,
    Left: Expression<L>,
    Right: Expression<R>, 

Visits a Join expression.

fn visit_view<T, E>(&mut self, view: &View<T, E>) where
    T: Tuple,
    E: Expression<T>, 

Visits a View expression.

Loading content...

Implementors

Loading content...