pub enum Either<T, U> {
Left(T),
Right(U),
}
Expand description
Used to lift iterator generators into a sum type.
This is used in partial application,
e.g. And::papp(true)
returns Either::Left(Idb)
.
Variants§
Implementations§
Trait Implementations§
source§impl<T1, T2, U1, U2, V1, V2, I1, I2> HigherIntoIterator<Either<(U1, U2), Empty>> for (T1, T2)where
T1: HigherIntoIterator<Item<U1>, Item = V1, IntoIter = I1>,
T2: Clone + HigherIntoIterator<Item<U2>, Item = V2, IntoIter = I2>,
I1: Iterator<Item = V1>,
U2: Clone,
impl<T1, T2, U1, U2, V1, V2, I1, I2> HigherIntoIterator<Either<(U1, U2), Empty>> for (T1, T2)where
T1: HigherIntoIterator<Item<U1>, Item = V1, IntoIter = I1>,
T2: Clone + HigherIntoIterator<Item<U2>, Item = V2, IntoIter = I2>,
I1: Iterator<Item = V1>,
U2: Clone,
source§impl<T> HigherIntoIterator<Either<Range<T>, Empty>> for Negwhere
T: Sub<Output = T> + From<u8>,
impl<T> HigherIntoIterator<Either<Range<T>, Empty>> for Negwhere
T: Sub<Output = T> + From<u8>,
source§impl<T, U, V, I> HigherIntoIterator<Either<U, Empty>> for Item<T>where
Item<T>: IntoIterator<Item = V, IntoIter = I>,
I: Iterator<Item = V>,
impl<T, U, V, I> HigherIntoIterator<Either<U, Empty>> for Item<T>where
Item<T>: IntoIterator<Item = V, IntoIter = I>,
I: Iterator<Item = V>,
source§impl<T, U, V, W, I1, I2> HigherIntoIterator<Either<V, Empty>> for Either<T, U>where
T: HigherIntoIterator<Item<V>, Item = W, IntoIter = I1>,
U: HigherIntoIterator<Item<V>, Item = W, IntoIter = I2>,
I1: Iterator<Item = W>,
I2: Iterator<Item = W>,
impl<T, U, V, W, I1, I2> HigherIntoIterator<Either<V, Empty>> for Either<T, U>where
T: HigherIntoIterator<Item<V>, Item = W, IntoIter = I1>,
U: HigherIntoIterator<Item<V>, Item = W, IntoIter = I2>,
I1: Iterator<Item = W>,
I2: Iterator<Item = W>,
§type IntoIter = EitherIter<I1, I2>
type IntoIter = EitherIter<I1, I2>
The iterator type.
source§fn hinto_iter(self, arg: Item<V>) -> Self::IntoIter
fn hinto_iter(self, arg: Item<V>) -> Self::IntoIter
Construct iterator from an argument.