Struct leo_asg::reducer::MonoidalDirector[][src]

pub struct MonoidalDirector<T: Monoid, R: MonoidalReducerExpression<T>> { /* fields omitted */ }

Implementations

impl<T: Monoid, R: MonoidalReducerExpression<T>> MonoidalDirector<T, R>[src]

pub fn new(reducer: R) -> Self[src]

pub fn reducer(self) -> R[src]

pub fn reduce_expression(&mut self, input: &Arc<Expression>) -> T[src]

pub fn reduce_array_access(&mut self, input: &ArrayAccessExpression) -> T[src]

pub fn reduce_array_init(&mut self, input: &ArrayInitExpression) -> T[src]

pub fn reduce_array_inline(&mut self, input: &ArrayInlineExpression) -> T[src]

pub fn reduce_array_range_access(
    &mut self,
    input: &ArrayRangeAccessExpression
) -> T
[src]

pub fn reduce_binary(&mut self, input: &BinaryExpression) -> T[src]

pub fn reduce_call(&mut self, input: &CallExpression) -> T[src]

pub fn reduce_circuit_access(&mut self, input: &CircuitAccessExpression) -> T[src]

pub fn reduce_circuit_init(&mut self, input: &CircuitInitExpression) -> T[src]

pub fn reduce_ternary_expression(&mut self, input: &TernaryExpression) -> T[src]

pub fn reduce_constant(&mut self, input: &Constant) -> T[src]

pub fn reduce_tuple_access(&mut self, input: &TupleAccessExpression) -> T[src]

pub fn reduce_tuple_init(&mut self, input: &TupleInitExpression) -> T[src]

pub fn reduce_unary(&mut self, input: &UnaryExpression) -> T[src]

pub fn reduce_variable_ref(&mut self, input: &VariableRef) -> T[src]

impl<T: Monoid, R: MonoidalReducerStatement<T>> MonoidalDirector<T, R>[src]

pub fn reduce_statement(&mut self, input: &Arc<Statement>) -> T[src]

pub fn reduce_assign_access(&mut self, input: &AssignAccess) -> T[src]

pub fn reduce_assign(&mut self, input: &AssignStatement) -> T[src]

pub fn reduce_block(&mut self, input: &BlockStatement) -> T[src]

pub fn reduce_conditional_statement(
    &mut self,
    input: &ConditionalStatement
) -> T
[src]

pub fn reduce_formatted_string(&mut self, input: &FormattedString) -> T[src]

pub fn reduce_console(&mut self, input: &ConsoleStatement) -> T[src]

pub fn reduce_definition(&mut self, input: &DefinitionStatement) -> T[src]

pub fn reduce_expression_statement(&mut self, input: &ExpressionStatement) -> T[src]

pub fn reduce_iteration(&mut self, input: &IterationStatement) -> T[src]

pub fn reduce_return(&mut self, input: &ReturnStatement) -> T[src]

Auto Trait Implementations

impl<T, R> RefUnwindSafe for MonoidalDirector<T, R> where
    R: RefUnwindSafe,
    T: RefUnwindSafe
[src]

impl<T, R> Send for MonoidalDirector<T, R> where
    R: Send,
    T: Send
[src]

impl<T, R> Sync for MonoidalDirector<T, R> where
    R: Sync,
    T: Sync
[src]

impl<T, R> Unpin for MonoidalDirector<T, R> where
    R: Unpin,
    T: Unpin
[src]

impl<T, R> UnwindSafe for MonoidalDirector<T, R> where
    R: UnwindSafe,
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.