[−][src]Struct free_algebra::FreePow
Represents a free symbol raised to some power
This is used in FreePowMonoid mainly as a way to compress the size-footprint of a FreeMonoid by combining repeated elements under an integral exponent, but the option for more exotic exponents is also available
Trait Implementations
impl<C: Eq, P: Add<Output = P>> MonoidRule<FreePow<C, P>> for PowRule
[src]
fn apply(
string: Vec<FreePow<C, P>>,
letter: FreePow<C, P>
) -> Vec<FreePow<C, P>>
[src]
string: Vec<FreePow<C, P>>,
letter: FreePow<C, P>
) -> Vec<FreePow<C, P>>
fn apply_many(word1: Vec<C>, word2: Vec<C>) -> Vec<C>
[src]
fn apply_iter<I: Iterator<Item = C>>(word: Vec<C>, letters: I) -> Vec<C>
[src]
impl<C: Eq, P: Add<Output = P> + Neg<Output = P> + Zero> InvMonoidRule<FreePow<C, P>> for PowRule
[src]
impl<C: Eq, P: Add<Output = P> + AddAssociative> AssociativeMonoidRule<FreePow<C, P>> for PowRule
[src]
impl<C: Eq, P: One + Neg<Output = P>> From<FreeInv<C>> for FreePow<C, P>
[src]
impl<C: Eq, P: One> From<C> for FreePow<C, P>
[src]
impl<C: Eq, P> From<(C, P)> for FreePow<C, P>
[src]
impl<C: Eq, P> Clone for FreePow<C, P> where
C: Clone,
P: Clone,
[src]
C: Clone,
P: Clone,
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<C: Eq, P> Copy for FreePow<C, P> where
C: Copy,
P: Copy,
[src]
C: Copy,
P: Copy,
impl<C: Eq, P> Eq for FreePow<C, P> where
C: Eq,
P: Eq,
[src]
C: Eq,
P: Eq,
impl<C: Eq, P> PartialEq<FreePow<C, P>> for FreePow<C, P> where
C: PartialEq,
P: PartialEq,
[src]
C: PartialEq,
P: PartialEq,
impl<C: Eq + Display, P: Display> Display for FreePow<C, P>
[src]
impl<C: Eq, P> Debug for FreePow<C, P> where
C: Debug,
P: Debug,
[src]
C: Debug,
P: Debug,
impl<C: Eq, P: Add<Output = P> + Neg<Output = P> + Zero> Div<FreePow<C, P>> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the /
operator.
fn div(self, rhs: Self) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P: Add<Output = P> + One + Neg<Output = P> + Zero> Div<C> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the /
operator.
fn div(self, rhs: C) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P: Add<Output = P> + Neg<Output = P> + Zero> Div<MonoidalString<FreePow<C, P>, PowRule>> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the /
operator.
fn div(self, rhs: FreePowMonoid<C, P>) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P: Add<Output = P>> Mul<FreePow<C, P>> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the *
operator.
fn mul(self, rhs: Self) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P: Add<Output = P> + One> Mul<C> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the *
operator.
fn mul(self, rhs: C) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P: Add<Output = P>> Mul<MonoidalString<FreePow<C, P>, PowRule>> for FreePow<C, P>
[src]
type Output = FreePowMonoid<C, P>
The resulting type after applying the *
operator.
fn mul(self, rhs: FreePowMonoid<C, P>) -> FreePowMonoid<C, P>
[src]
impl<C: Eq, P> Hash for FreePow<C, P> where
C: Hash,
P: Hash,
[src]
C: Hash,
P: Hash,
fn hash<__HCP>(&self, __state: &mut __HCP) where
__HCP: Hasher,
[src]
__HCP: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<C: Eq, P: Neg<Output = P>> Inv for FreePow<C, P>
[src]
impl<C: Eq, P: Mul<Output = P>> Pow<P> for FreePow<C, P>
[src]
Auto Trait Implementations
impl<C, P> Send for FreePow<C, P> where
C: Send,
P: Send,
C: Send,
P: Send,
impl<C, P> Sync for FreePow<C, P> where
C: Sync,
P: Sync,
C: Sync,
P: Sync,
impl<C, P> Unpin for FreePow<C, P> where
C: Unpin,
P: Unpin,
C: Unpin,
P: Unpin,
impl<C, P> UnwindSafe for FreePow<C, P> where
C: UnwindSafe,
P: UnwindSafe,
C: UnwindSafe,
P: UnwindSafe,
impl<C, P> RefUnwindSafe for FreePow<C, P> where
C: RefUnwindSafe,
P: RefUnwindSafe,
C: RefUnwindSafe,
P: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> From<!> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,