Trait relational_types::Relation[][src]

pub trait Relation {
    type From;
    type To;
    fn get_from(&self) -> IdxSet<Self::From>;
fn get_to(&self) -> IdxSet<Self::To>;
fn get_corresponding_forward(
        &self,
        from: &IdxSet<Self::From>
    ) -> IdxSet<Self::To>;
fn get_corresponding_backward(
        &self,
        from: &IdxSet<Self::To>
    ) -> IdxSet<Self::From>; }

An object linking 2 types together.

Associated Types

type From[src]

The type of the source object

type To[src]

The type of the targer object

Loading content...

Required methods

fn get_from(&self) -> IdxSet<Self::From>[src]

Returns the complete set of the source objects.

fn get_to(&self) -> IdxSet<Self::To>[src]

Returns the complete set of the target objects.

fn get_corresponding_forward(
    &self,
    from: &IdxSet<Self::From>
) -> IdxSet<Self::To>
[src]

For a given set of the source objects, returns the corresponding targets objects.

fn get_corresponding_backward(
    &self,
    from: &IdxSet<Self::To>
) -> IdxSet<Self::From>
[src]

For a given set of the target objects, returns the corresponding source objects.

Loading content...

Implementors

impl<T, U> Relation for ManyToMany<T, U>[src]

type From = T

type To = U

fn get_from(&self) -> IdxSet<T>[src]

fn get_to(&self) -> IdxSet<U>[src]

fn get_corresponding_forward(&self, from: &IdxSet<T>) -> IdxSet<U>[src]

fn get_corresponding_backward(&self, from: &IdxSet<U>) -> IdxSet<T>[src]

impl<T, U> Relation for OneToMany<T, U>[src]

type From = T

type To = U

fn get_from(&self) -> IdxSet<T>[src]

fn get_to(&self) -> IdxSet<U>[src]

fn get_corresponding_forward(&self, from: &IdxSet<T>) -> IdxSet<U>[src]

fn get_corresponding_backward(&self, from: &IdxSet<U>) -> IdxSet<T>[src]

Loading content...