fn find_map_last<O, T>(self, operation: O) -> FindMap<Self, O>
    where
        O: Fn(Self::Item) -> Option<T> + Clone + Send + 'a,
        T: Send,
    {
        FindMap::new(self, operation, FindMatch::Last)
    }
/// Applies the given operation to the items in the parallel iterator and
/// returns the sequentially **last** non-None result of the map operation.
///
/// Once a non-None value is produced from the map operation, all attempts
/// to the left of the match will be stopped, while attempts to the right
/// must continue in case a later match is found.
///
/// Note that not all parallel iterators have a useful order, much like
/// sequential `HashMap` iteration, so "first" may be nebulous. If you
/// just want the first non-None value discovered anywhere in the iterator,
/// `find_map_any` is a better choice.
///
/// # Examples
///
/// ```
/// use asparit::*;
///
/// let c = ["lol", "NaN", "2", "5"];
///
/// let last_number = c.par_iter().find_map_last(|s| s.parse().ok()).exec();
///
/// assert_eq!(last_number, Some(5));
/// ```
Applies the given operation to the items in the parallel iterator and
returns the sequentially **last** non-None result of the map operation.

Once a non-None value is produced from the map operation, all attempts
to the left of the match will be stopped, while attempts to the right
must continue in case a later match is found.

Note that not all parallel iterators have a useful order, much like
sequential `HashMap` iteration, so "first" may be nebulous. If you
just want the first non-None value discovered anywhere in the iterator,
`find_map_any` is a better choice.
Applies the given operation to the items in the parallel iterator and returns the sequentially ** last ** non - None result of the map operation . Once a non - None value is produced from the map operation all attempts to the left of the match will be stopped while attempts to the right must continue in case a later match is found . Note that not all parallel iterators have a useful order much like sequential ` HashMap ` iteration so " first " may be nebulous . If you just want the first non - None value discovered anywhere in the iterator ` find_map_any ` is a better choice .
fn find_map_last<O, T>(self, operation: O) -> FindMap<Self, O>
    where
        O: Fn(Self::Item) -> Option<T> + Clone + Send + 'a,
        T: Send,
    {
        FindMap::new(self, operation, FindMatch::Last)
    }
fn find_map_last < O , T > ( self , operation : O ) -> FindMap < Self , O > where O : Fn ( Self :: Item ) -> Option < T > + Clone + Send + ' a , T : Send , { FindMap :: new ( self , operation , FindMatch :: Last ) }
Applies the given operation to the items in the parallel iterator and
returns the sequentially **last** non-None result of the map operation.
Applies the given operation to the items in the parallel iterator and returns the sequentially ** last ** non - None result of the map operation .
self
operation
O
self
operation
O
examples




let last_number = c.par_iter().find_map_last(|s| s.parse().ok()).exec().


let last_number = c . par_iter () . find_map_last ( |s| s . parse () . ok () ) . exec () .