FlatScanState

Enum FlatScanState 

Source
pub enum FlatScanState<I, F>
where I: ListFn, F: FlatScanFn<InputItem = I::Item>, I::End: ResultFn<Result = F::InputResult>,
{ Begin { flat_scan: F, input_list: I, }, OutputList { output_list: F::OutputList, input_list: I, }, EndList(F::EndList), }

Variants§

§

Begin

Fields

§flat_scan: F
§input_list: I
§

OutputList

Fields

§output_list: F::OutputList
§input_list: I
§

EndList(F::EndList)

Trait Implementations§

Source§

impl<I, F> ListFn for FlatScanState<I, F>
where I: ListFn, F: FlatScanFn<InputItem = I::Item>, I::End: ResultFn<Result = F::InputResult>,

Source§

type Item = <<F as FlatScanFn>::OutputList as ListFn>::Item

A list item type.
Source§

type End = <<F as FlatScanFn>::EndList as ListFn>::End

A value which is returned when the list has no more items.
Source§

fn next(self) -> ListState<Self>

The main function which returns a list.

Auto Trait Implementations§

§

impl<I, F> Freeze for FlatScanState<I, F>
where F: Freeze, I: Freeze, <F as FlatScanFn>::OutputList: Freeze, <F as FlatScanFn>::EndList: Freeze,

§

impl<I, F> RefUnwindSafe for FlatScanState<I, F>

§

impl<I, F> Send for FlatScanState<I, F>
where F: Send, I: Send, <F as FlatScanFn>::OutputList: Send, <F as FlatScanFn>::EndList: Send,

§

impl<I, F> Sync for FlatScanState<I, F>
where F: Sync, I: Sync, <F as FlatScanFn>::OutputList: Sync, <F as FlatScanFn>::EndList: Sync,

§

impl<I, F> Unpin for FlatScanState<I, F>
where F: Unpin, I: Unpin, <F as FlatScanFn>::OutputList: Unpin, <F as FlatScanFn>::EndList: Unpin,

§

impl<I, F> UnwindSafe for FlatScanState<I, F>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<L> Filter for L
where L: ListFn,

Source§

fn filter<F: FilterFn<Input = Self::Item>>( self, f: F, ) -> FlatMapList<Self, FilterWrap<F>>

Source§

impl<S> FlatMap for S
where S: ListFn,

Source§

fn flat_map<F: FlatMapFn<Input = Self::Item>>( self, flat_map: F, ) -> FlatMapList<Self, F>

Source§

impl<S> FlatScan for S
where S: ListFn,

Source§

fn flat_scan<F>(self, flat_scan: F) -> FlatScanState<Self, F>
where F: FlatScanFn<InputItem = Self::Item>, Self::End: ResultFn<Result = F::InputResult>,

Source§

impl<S> Fold for S
where S: ListFn,

Source§

fn fold(self) -> Self::End

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<S> Iter for S
where S: ListFn<End = S>,

Source§

fn iter(self) -> ListIterator<Self>

Converts a list to an iterator.
Source§

impl<L> IterWrap for L
where L: ListFn,

Source§

impl<L> Map for L
where L: ListFn,

Source§

fn map<M: MapFn<Input = Self::Item>>( self, m: M, ) -> FlatMapList<Self, MapWrap<M>>

Source§

impl<L> Take for L
where L: ListFn,

Source§

fn take(self, count: usize) -> TakeList<Self>

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.