[][src]Trait rational_deduction::Expression

pub trait Expression where
    Self: Sized
{ type Atom; type Group: Default + Extend<Self> + IntoIterator<Item = Self, IntoIter = Self::GroupIter> + FromIterator<Self>; type GroupIter: Iterator<Item = Self>; fn into_expr(self) -> Expr<Self>;
fn from_atom(atom: Self::Atom) -> Self;
fn from_group(group: Self::Group) -> Self; fn from_expr(expr: Expr<Self>) -> Self { ... }
fn default() -> Self { ... } }

Expression Tree

Associated Types

type Atom

Atomic element type

type Group: Default + Extend<Self> + IntoIterator<Item = Self, IntoIter = Self::GroupIter> + FromIterator<Self>

Group expression type

type GroupIter: Iterator<Item = Self>

Iterator type to read from Group

Loading content...

Required methods

fn into_expr(self) -> Expr<Self>

fn from_atom(atom: Self::Atom) -> Self

Build an Expression from an atomic element.

fn from_group(group: Self::Group) -> Self

Build an Expression from a grouped expression.

Loading content...

Provided methods

fn from_expr(expr: Expr<Self>) -> Self

Convert from canonical enumeration

fn default() -> Self

Get default Expression from canonical enumeration

Loading content...

Implementors

impl<E> Expression for Expr<E> where
    E: Expression
[src]

type Atom = E::Atom

type Group = ExprGroup<E>

type GroupIter = ExprGroupIter<E>

Loading content...