[][src]Struct combinedfun::WithCollectionGenerator

pub struct WithCollectionGenerator<A, CG>(_, _);

This type is used to make the syntactic sugar work. It's observed if you multiply a parser or an ElementSeparatorElementSeparator] by a function (see * for ElementSeparator, or * for Parser). Specifically, it allows to use operators for Parser::separated and Parser::repeat.

Trait Implementations

impl<C, F1, I, CG, R> Mul<R> for WithCollectionGenerator<Parser<F1, I>, CG> where
    F1: ParserImpl<I>,
    R: RangeLike,
    I: Clone,
    CG: Fn() -> C,
    C: Collection<Item = F1::Output>, 
[src]

type Output = Parser<MapLeft<CountedSeparated<CG, R, F1, Epsilon<F1::Error>>>, I>

The resulting type after applying the * operator.

impl<C, F1, F2, I, CG, R> Mul<R> for WithCollectionGenerator<ElementSeparator<F1, F2, I>, CG> where
    F1: ParserImpl<I>,
    F2: ParserImpl<I, Error = F1::Error>,
    R: RangeLike,
    I: Clone,
    CG: Fn() -> C,
    C: Collection<Item = F1::Output>, 
[src]

type Output = Parser<MapLeft<CountedSeparated<CG, R, F1, F2>>, I>

The resulting type after applying the * operator.

Auto Trait Implementations

impl<A, CG> Unpin for WithCollectionGenerator<A, CG> where
    A: Unpin,
    CG: Unpin

impl<A, CG> Sync for WithCollectionGenerator<A, CG> where
    A: Sync,
    CG: Sync

impl<A, CG> Send for WithCollectionGenerator<A, CG> where
    A: Send,
    CG: Send

impl<A, CG> UnwindSafe for WithCollectionGenerator<A, CG> where
    A: UnwindSafe,
    CG: UnwindSafe

impl<A, CG> RefUnwindSafe for WithCollectionGenerator<A, CG> where
    A: RefUnwindSafe,
    CG: RefUnwindSafe

Blanket Implementations

impl<I, P, T> Tag<Span<I, P>> for T where
    I: Clone,
    P: Position<I>,
    T: Tag<I> + ?Sized
[src]

type Output = <T as Tag<I>>::Output

impl<T> From<T> 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.

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

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

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