pub trait IntoRegexCharIter<Input: Display> {
    type Iter: Iterator<Item = Result<char, ParameterError<Input>>>;

    // Required method
    fn into_regex_char_iter(self) -> Self::Iter;
}
Available on crate feature into-regex only.
Expand description

Expansion of a Cucumber Expressions AST element into a Regex by producing a chars Iterator following original production rules.

Required Associated Types§

source

type Iter: Iterator<Item = Result<char, ParameterError<Input>>>

Type of an Iterator performing the expansion.

Required Methods§

source

fn into_regex_char_iter(self) -> Self::Iter

Consumes this AST element returning an Iterator over chars transformable into a Regex.

Implementors§

source§

impl<Input> IntoRegexCharIter<Input> for Alternative<Input>where Input: Display + InputIter, <Input as InputIter>::Item: AsChar,

§

type Iter = Either<<Optional<Input> as IntoRegexCharIter<Input>>::Iter, Map<EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>, fn(_: char) -> Result<char, ParameterError<Input>>>>

source§

impl<Input> IntoRegexCharIter<Input> for SingleExpression<Input>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar,

§

type Iter = Either<<Alternation<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Optional<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Parameter<Input> as IntoRegexCharIter<Input>>::Iter, Map<EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>, fn(_: char) -> Result<char, ParameterError<Input>>>>>>

source§

impl<Input> IntoRegexCharIter<Input> for Alternation<Input>where Input: Display + InputIter, <Input as InputIter>::Item: AsChar,

§

type Iter = Chain<Chain<Map<Chars<'static>, fn(_: char) -> Result<char, ParameterError<Input>>>, SkipLast<FlatMap<IntoIter<Vec<Alternative<Input>, Global>, Global>, Chain<FlatMap<IntoIter<Alternative<Input>, Global>, <Alternative<Input> as IntoRegexCharIter<Input>>::Iter, fn(_: Alternative<Input>) -> <Alternative<Input> as IntoRegexCharIter<Input>>::Iter>, Once<Result<char, ParameterError<Input>>>>, fn(_: Vec<Alternative<Input>, Global>) -> Chain<FlatMap<IntoIter<Alternative<Input>, Global>, <Alternative<Input> as IntoRegexCharIter<Input>>::Iter, fn(_: Alternative<Input>) -> <Alternative<Input> as IntoRegexCharIter<Input>>::Iter>, Once<Result<char, ParameterError<Input>>>>>>>, Once<Result<char, ParameterError<Input>>>>

source§

impl<Input> IntoRegexCharIter<Input> for Expression<Input>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar,

source§

impl<Input> IntoRegexCharIter<Input> for Optional<Input>where Input: Display + InputIter, <Input as InputIter>::Item: AsChar,

§

type Iter = Map<Chain<Chain<Chars<'static>, EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>>, Chars<'static>>, fn(_: char) -> Result<char, ParameterError<Input>>>

source§

impl<Input> IntoRegexCharIter<Input> for Parameter<Input>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar,

§

type Iter = Either<Either<Map<Chars<'static>, fn(_: char) -> Result<char, ParameterError<Input>>>, Map<OwnedChars, fn(_: char) -> Result<char, ParameterError<Input>>>>, Once<Result<char, ParameterError<Input>>>>

source§

impl<Input, P> IntoRegexCharIter<Input> for WithCustom<Parameter<Input>, P>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar, P: Provider<Input>, <P as Provider<Input>>::Value: InputIter,

source§

impl<Input, Pars> IntoRegexCharIter<Input> for WithCustom<SingleExpression<Input>, Pars>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar, Pars: Provider<Input>, <Pars as Provider<Input>>::Value: InputIter,

§

type Iter = Either<<WithCustom<Parameter<Input>, Pars> as IntoRegexCharIter<Input>>::Iter, Either<<Alternation<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Optional<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Parameter<Input> as IntoRegexCharIter<Input>>::Iter, Map<EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>, fn(_: char) -> Result<char, ParameterError<Input>>>>>>>

source§

impl<Input, Pars> IntoRegexCharIter<Input> for WithCustom<Expression<Input>, Pars>where Input: Clone + Display + InputIter, <Input as InputIter>::Item: AsChar, Pars: Clone + Provider<Input>, <Pars as Provider<Input>>::Value: InputIter,

§

type Iter = Chain<Chain<Once<Result<char, ParameterError<Input>>>, FlatMap<Map<Zip<IntoIter<SingleExpression<Input>, Global>, Repeat<Pars>>, fn(_: (SingleExpression<Input>, Pars)) -> WithCustom<SingleExpression<Input>, Pars>>, Either<<WithCustom<Parameter<Input>, Pars> as IntoRegexCharIter<Input>>::Iter, Either<<Alternation<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Optional<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Parameter<Input> as IntoRegexCharIter<Input>>::Iter, Map<EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>, fn(_: char) -> Result<char, ParameterError<Input>>>>>>>, fn(_: WithCustom<SingleExpression<Input>, Pars>) -> Either<<WithCustom<Parameter<Input>, Pars> as IntoRegexCharIter<Input>>::Iter, Either<<Alternation<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Optional<Input> as IntoRegexCharIter<Input>>::Iter, Either<<Parameter<Input> as IntoRegexCharIter<Input>>::Iter, Map<EscapeForRegex<Map<<Input as InputIter>::IterElem, fn(_: <Input as InputIter>::Item) -> char>>, fn(_: char) -> Result<char, ParameterError<Input>>>>>>>>>, Once<Result<char, ParameterError<Input>>>>