Enum exprz::vec::MultiExpr [−][src]
This is supported on crate feature
alloc
only.Vector MultiExpression
Type
Variants
Atomic Expression
Group(Vec<Self>, G)
Grouped Expression
Trait Implementations
impl<A: Clone, G: Clone> Clone for MultiExpr<A, G>
[src]
fn clone(&self) -> MultiExpr<A, G>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<A: Debug, G: Debug> Debug for MultiExpr<A, G>
[src]
impl<A, G> Default for MultiExpr<A, G> where
G: Default,
[src]
G: Default,
impl<A: Eq, G: Eq> Eq for MultiExpr<A, G>
[src]
impl<A, G> Expression for MultiExpr<A, G>
[src]
type Atom = A
Atomic Element Type
type Group = (Vec<Self>, G)
Group Expression Type
fn cases(&self) -> ExprRef<'_, Self>
[src]
fn from_atom(atom: Self::Atom) -> Self
[src]
fn from_group(group: Self::Group) -> Self
[src]
#[must_use]fn from_expr(expr: Expr<Self>) -> Self
[src]
fn from_str(s: &str) -> Result<Self> where
Self::Atom: FromIterator<char>,
Self::Group: FromIterator<Self>,
[src]
Self::Atom: FromIterator<char>,
Self::Group: FromIterator<Self>,
#[must_use]fn is_atom(&self) -> bool
[src]
#[must_use]fn is_group(&self) -> bool
[src]
#[must_use]fn atom(self) -> Option<Self::Atom>
[src]
#[must_use]fn group(self) -> Option<Self::Group>
[src]
fn unwrap_atom(self) -> Self::Atom
[src]
fn unwrap_group(self) -> Self::Group
[src]
fn default_atom<T>() -> Self::Atom where
Self::Atom: FromIterator<T>,
[src]
Self::Atom: FromIterator<T>,
fn default_group() -> Self::Group where
Self::Group: FromIterator<Self>,
[src]
Self::Group: FromIterator<Self>,
fn default() -> Self where
Self::Group: FromIterator<Self>,
[src]
Self::Group: FromIterator<Self>,
fn empty_atom<T>() -> Self where
Self::Atom: FromIterator<T>,
[src]
Self::Atom: FromIterator<T>,
fn empty_group() -> Self where
Self::Group: FromIterator<Self>,
[src]
Self::Group: FromIterator<Self>,
fn clone(&self) -> Self where
Self::Atom: Clone,
Self::Group: FromIterator<Self>,
[src]
Self::Atom: Clone,
Self::Group: FromIterator<Self>,
fn eq<E>(&self, other: &E) -> bool where
E: Expression,
Self::Atom: PartialEq<E::Atom>,
[src]
E: Expression,
Self::Atom: PartialEq<E::Atom>,
fn is_subexpression<E>(&self, other: &E) -> bool where
E: Expression,
Self::Atom: PartialEq<E::Atom>,
[src]
E: Expression,
Self::Atom: PartialEq<E::Atom>,
fn matches<P>(&self, pattern: P) -> bool where
P: Pattern<Self>,
[src]
P: Pattern<Self>,
fn matches_equal<P>(&self, pattern: &P) -> bool where
P: Expression,
P::Atom: PartialEq<Self::Atom>,
[src]
P: Expression,
P::Atom: PartialEq<Self::Atom>,
fn matches_subexpression<P>(&self, pattern: &P) -> bool where
P: Expression,
P::Atom: PartialEq<Self::Atom>,
[src]
P: Expression,
P::Atom: PartialEq<Self::Atom>,
fn matches_basic_shape<P>(&self, pattern: &P) -> bool where
P: Expression<Atom = BasicShape>,
P::Atom: PartialEq<Self::Atom>,
[src]
P: Expression<Atom = BasicShape>,
P::Atom: PartialEq<Self::Atom>,
fn matches_wildcard<W, P>(&self, is_wildcard: W, pattern: &P) -> bool where
P: Expression,
P::Atom: PartialEq<Self::Atom>,
W: Fn(&P::Atom) -> bool,
[src]
P: Expression,
P::Atom: PartialEq<Self::Atom>,
W: Fn(&P::Atom) -> bool,
fn map<E, F>(self, f: F) -> E where
Self::Group: IntoIterator<Item = Self>,
E: Expression,
E::Group: FromIterator<E>,
F: FnMut(Self::Atom) -> E::Atom,
[src]
Self::Group: IntoIterator<Item = Self>,
E: Expression,
E::Group: FromIterator<E>,
F: FnMut(Self::Atom) -> E::Atom,
fn map_ref<E, F>(&self, f: F) -> E where
E: Expression,
E::Group: FromIterator<E>,
F: FnMut(&Self::Atom) -> E::Atom,
[src]
E: Expression,
E::Group: FromIterator<E>,
F: FnMut(&Self::Atom) -> E::Atom,
fn substitute<F>(self, f: F) -> Self where
Self::Group: FromIterator<Self> + IntoIterator<Item = Self>,
F: FnMut(Self::Atom) -> Self,
[src]
Self::Group: FromIterator<Self> + IntoIterator<Item = Self>,
F: FnMut(Self::Atom) -> Self,
fn substitute_ref<F>(&self, f: F) -> Self where
Self::Group: FromIterator<Self>,
F: FnMut(&Self::Atom) -> Self,
[src]
Self::Group: FromIterator<Self>,
F: FnMut(&Self::Atom) -> Self,
impl<A, G> From<MultiExpr<A, G>> for Expr<MultiExpr<A, G>>
[src]
impl<'e, A, G> HasGroupType<'e, MultiExpr<A, G>, G> for <<MultiExpr<A, G> as Expression>::Group as IntoIteratorGen<MultiExpr<A, G>>>::IterGen
[src]
fn group_type(&self) -> &'e G
[src]
impl<A: Hash, G: Hash> Hash for MultiExpr<A, G>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<A, G> IntoIteratorGen<MultiExpr<A, G>> for (Vec<MultiExpr<A, G>>, G)
[src]
type IterGen = (&'t Vec<MultiExpr<A, G>>, &'t G)
Underlying IteratorGen
Type
fn gen(&self) -> Self::IterGen
[src]
impl<A, G> IteratorGen<MultiExpr<A, G>> for (&Vec<MultiExpr<A, G>>, &G)
[src]
type Item = &'t MultiExpr<A, G>
type Iter = Iter<'t, MultiExpr<A, G>>
Underlying Iterator
Type
fn iter(&self) -> Self::Iter
[src]
impl<A: PartialEq, G: PartialEq> PartialEq<MultiExpr<A, G>> for MultiExpr<A, G>
[src]
fn eq(&self, other: &MultiExpr<A, G>) -> bool
[src]
fn ne(&self, other: &MultiExpr<A, G>) -> bool
[src]
impl<A, G> StructuralEq for MultiExpr<A, G>
[src]
impl<A, G> StructuralPartialEq for MultiExpr<A, G>
[src]
Auto Trait Implementations
impl<A, G> Send for MultiExpr<A, G> where
A: Send,
G: Send,
A: Send,
G: Send,
impl<A, G> Sync for MultiExpr<A, G> where
A: Sync,
G: Sync,
A: Sync,
G: Sync,
impl<A, G> Unpin for MultiExpr<A, G> where
A: Unpin,
G: Unpin,
A: Unpin,
G: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,