[][src]Struct csvsc::Group

pub struct Group<I, F> { /* fields omitted */ }

Groups data by a set of columns.

The groups are passed to you as a RowStream object that you can use to manipulate them. Data is group globally from the stream so if the stream is huge you'll have all the rows in memory at the same time.

If you add or delete headers you're responsible for modifying the headers also, which will be given to you as a parameter of the first closure.

Implementations

impl<I, F, R> Group<I, F> where
    I: RowStream,
    F: FnMut(MockStream<IntoIter<RowResult>>) -> R,
    R: RowStream
[src]

pub fn new<H>(
    iter: I,
    header_map: H,
    f: F,
    grouping: &[&str]
) -> Result<Group<I, F>, GroupBuildError> where
    H: FnMut(Headers) -> Headers
[src]

Trait Implementations

impl<I, F, R> IntoIterator for Group<I, F> where
    I: RowStream,
    F: FnMut(MockStream<IntoIter<RowResult>>) -> R,
    R: RowStream
[src]

type Item = RowResult

The type of the elements being iterated over.

type IntoIter = IntoIter<F, R>

Which kind of iterator are we turning this into?

impl<I, F, R> RowStream for Group<I, F> where
    I: RowStream,
    F: FnMut(MockStream<IntoIter<RowResult>>) -> R,
    R: RowStream
[src]

Auto Trait Implementations

impl<I, F> RefUnwindSafe for Group<I, F> where
    F: RefUnwindSafe,
    I: RefUnwindSafe

impl<I, F> Send for Group<I, F> where
    F: Send,
    I: Send

impl<I, F> Sync for Group<I, F> where
    F: Sync,
    I: Sync

impl<I, F> Unpin for Group<I, F> where
    F: Unpin,
    I: Unpin

impl<I, F> UnwindSafe for Group<I, F> where
    F: UnwindSafe,
    I: UnwindSafe

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

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.