Trait exprz::GroupReference[][src]

pub trait GroupReference<E> where
    E: Expression
{ type Item: Reference<'e, E>; type Iter: Iterator<Item = Self::Item>; fn iter(&self) -> Self::Iter; fn size_hint(&self) -> (usize, Option<usize>) { ... }
fn len(&self) -> Option<usize> { ... }
fn is_empty(&self) -> bool { ... }
fn get(&self, index: usize) -> Option<Self::Item> { ... }
fn to_owned(&self) -> E::Group
    where
        E::Atom: Clone,
        E::Group: FromIterator<E>
, { ... }
fn substitute_ref<F>(&self, f: F) -> E::Group
    where
        E::Group: FromIterator<E>,
        F: FnMut(&E::Atom) -> E
, { ... } }

Expression Group Reference Trait

Associated Types

type Item: Reference<'e, E>[src]

Element of a GroupReference

type Iter: Iterator<Item = Self::Item>[src]

Iterator over GroupReference::Item

Loading content...

Required methods

fn iter(&self) -> Self::Iter[src]

Returns a group reference iterator.

Loading content...

Provided methods

fn size_hint(&self) -> (usize, Option<usize>)[src]

Returns a size hint for the underlying iterator.

fn len(&self) -> Option<usize>[src]

Returns the length of the group reference if it is known exactly.

fn is_empty(&self) -> bool[src]

Returns true if the length of the group reference is known to be exactly zero.

fn get(&self, index: usize) -> Option<Self::Item>[src]

Returns a reference to an element at the given position.

fn to_owned(&self) -> E::Group where
    E::Atom: Clone,
    E::Group: FromIterator<E>, 
[src]

Returns new owned Group from a GroupReference.

fn substitute_ref<F>(&self, f: F) -> E::Group where
    E::Group: FromIterator<E>,
    F: FnMut(&E::Atom) -> E, 
[src]

Performs substitution over the underlying Group by reference.

Loading content...

Implementations on Foreign Types

impl<E> GroupReference<E> for &[E] where
    E: Expression
[src]

type Item = &'e E

type Iter = Iter<'e, E>

impl<E> GroupReference<E> for &Vec<E> where
    E: Expression
[src]

This is supported on crate feature alloc only.

type Item = &'e E

type Iter = Iter<'e, E>

impl<A, G> GroupReference<MultiExpr<A, G>> for (&Vec<MultiExpr<A, G>>, &G)[src]

This is supported on crate features multi and alloc only.

type Item = &'e MultiExpr<A, G>

type Iter = Iter<'e, MultiExpr<A, G>>

Loading content...

Implementors

impl<T> GroupReference<Expr<T, usize, usize>> for ExprGroupReference<'_, T>[src]

This is supported on crate feature buffered only.

type Item = ExprView<'e, T>

type Iter = ExprViewIterator<'e, T>

Loading content...