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

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

Implementations

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

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

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

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

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

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

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

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

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

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

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

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

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

pub fn reduce_cast_expression(&mut self, input: &CastExpression<'a>) -> T[src]

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

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

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

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

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

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

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

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

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

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

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

pub fn reduce_formatted_string(&mut self, input: &FormatString<'a>) -> T[src]

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

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

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

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

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

impl<'a, T: Monoid, R: MonoidalReducerProgram<'a, T>> MonoidalDirector<'a, T, R>[src]

pub fn reduce_function(&mut self, input: &'a Function<'a>) -> T[src]

pub fn reduce_circuit_member(&mut self, input: &CircuitMember<'a>) -> T[src]

pub fn reduce_circuit(&mut self, input: &'a Circuit<'a>) -> T[src]

pub fn reduce_program(&mut self, input: &Program<'a>) -> T[src]

Auto Trait Implementations

impl<'a, T, R> RefUnwindSafe for MonoidalDirector<'a, T, R> where
    R: RefUnwindSafe,
    T: RefUnwindSafe

impl<'a, T, R> Send for MonoidalDirector<'a, T, R> where
    R: Send,
    T: Sync

impl<'a, T, R> Sync for MonoidalDirector<'a, T, R> where
    R: Sync,
    T: Sync

impl<'a, T, R> Unpin for MonoidalDirector<'a, T, R> where
    R: Unpin

impl<'a, T, R> UnwindSafe for MonoidalDirector<'a, T, R> where
    R: UnwindSafe,
    T: RefUnwindSafe

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.