Skip to main content

GetIterator

Trait GetIterator 

Source
pub trait GetIterator {
    type Item;
    type Iterator: Iterator<Item = Self::Item>;
    type ParallelIterator: ParallelIterator<Item = Self::Item>
       where Self::Item: Send;

    // Required method
    fn iter(&self) -> Self::Iterator;

    // Provided methods
    fn par_iter(&self) -> Option<Self::ParallelIterator>
       where Self::Item: Send { ... }
    fn has_par_iter(&self) -> bool { ... }
    fn len(&self) -> usize { ... }
}
Expand description

Trait for returning iterator and (optionally) parallel iterator over keys.

Required Associated Types§

Source

type Item

Key type.

Source

type Iterator: Iterator<Item = Self::Item>

Iterator type.

Source

type ParallelIterator: ParallelIterator<Item = Self::Item> where Self::Item: Send

Parallel iterator type.

Required Methods§

Source

fn iter(&self) -> Self::Iterator

Returns iterator over keys.

Provided Methods§

Source

fn par_iter(&self) -> Option<Self::ParallelIterator>
where Self::Item: Send,

If possible, returns parallel iterator over keys.

Source

fn has_par_iter(&self) -> bool

Returns true only if par_iter returns Some.

Source

fn len(&self) -> usize

Returns the number of items produced by iterators returned by iter and par_iter.

Implementations on Foreign Types§

Source§

impl<I: Iterator, PI: ParallelIterator<Item = I::Item>, F: Fn() -> I, PF: Fn() -> PI> GetIterator for (F, PF)

Source§

type Item = <I as Iterator>::Item

Source§

type Iterator = I

Source§

type ParallelIterator = PI where Self::Item: Send

Source§

fn iter(&self) -> Self::Iterator

Source§

fn par_iter(&self) -> Option<Self::ParallelIterator>
where Self::Item: Send,

Source§

fn has_par_iter(&self) -> bool

Implementors§

Source§

impl<I: Iterator, F: Fn() -> I> GetIterator for F