| <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An iterator that supports “random access” to its data, meaning that you can split it at arbitrary indices and draw data from those points."><meta name="keywords" content="rust, rustlang, rust-lang, IndexedParallelIterator"><title>IndexedParallelIterator in rayon::iter - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../rayon/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../rayon/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">IndexedParallelIterator</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.drive">drive</a></li><li><a href="#tymethod.len">len</a></li><li><a href="#tymethod.with_producer">with_producer</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.chunks">chunks</a></li><li><a href="#method.cmp">cmp</a></li><li><a href="#method.collect_into_vec">collect_into_vec</a></li><li><a href="#method.enumerate">enumerate</a></li><li><a href="#method.eq">eq</a></li><li><a href="#method.fold_chunks">fold_chunks</a></li><li><a href="#method.fold_chunks_with">fold_chunks_with</a></li><li><a href="#method.ge">ge</a></li><li><a href="#method.gt">gt</a></li><li><a href="#method.interleave">interleave</a></li><li><a href="#method.interleave_shortest">interleave_shortest</a></li><li><a href="#method.le">le</a></li><li><a href="#method.lt">lt</a></li><li><a href="#method.ne">ne</a></li><li><a href="#method.partial_cmp">partial_cmp</a></li><li><a href="#method.position_any">position_any</a></li><li><a href="#method.position_first">position_first</a></li><li><a href="#method.position_last">position_last</a></li><li><a href="#method.positions">positions</a></li><li><a href="#method.rev">rev</a></li><li><a href="#method.skip">skip</a></li><li><a href="#method.step_by">step_by</a></li><li><a href="#method.take">take</a></li><li><a href="#method.unzip_into_vecs">unzip_into_vecs</a></li><li><a href="#method.with_max_len">with_max_len</a></li><li><a href="#method.with_min_len">with_min_len</a></li><li><a href="#method.zip">zip</a></li><li><a href="#method.zip_eq">zip_eq</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In rayon::iter</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">rayon</a>::<wbr><a href="index.html">iter</a>::<wbr><a class="trait" href="#">IndexedParallelIterator</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/rayon/iter/mod.rs.html#2393-3145">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait IndexedParallelIterator: <a class="trait" href="trait.ParallelIterator.html" title="trait rayon::iter::ParallelIterator">ParallelIterator</a> { |
| <details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 31 methods</span></summary> fn <a href="#tymethod.len" class="fnname">len</a>(&self) -> usize; |
| <span class="item-spacer"></span> fn <a href="#tymethod.drive" class="fnname">drive</a><C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(self, consumer: C) -> C::<a class="associatedtype" href="plumbing/trait.Consumer.html#associatedtype.Result" title="type rayon::iter::plumbing::Consumer::Result">Result</a>; |
| <span class="item-spacer"></span> fn <a href="#tymethod.with_producer" class="fnname">with_producer</a><CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(<br> self,<br> callback: CB<br> ) -> CB::<a class="associatedtype" href="plumbing/trait.ProducerCallback.html#associatedtype.Output" title="type rayon::iter::plumbing::ProducerCallback::Output">Output</a>; |
| |
| fn <a href="#method.collect_into_vec" class="fnname">collect_into_vec</a>(self, target: &mut Vec<Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>) { ... } |
| <span class="item-spacer"></span> fn <a href="#method.unzip_into_vecs" class="fnname">unzip_into_vecs</a><A, B>(self, left: &mut Vec<A>, right: &mut Vec<B>)<br> <span class="where">where<br> Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = (A, B)>,<br> A: Send,<br> B: Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.zip" class="fnname">zip</a><Z>(self, zip_op: Z) -> <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><br> <span class="where">where<br> Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.zip_eq" class="fnname">zip_eq</a><Z>(self, zip_op: Z) -> <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><br> <span class="where">where<br> Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.interleave" class="fnname">interleave</a><I>(self, other: I) -> <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.interleave_shortest" class="fnname">interleave_shortest</a><I>(<br> self,<br> other: I<br> ) -> <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.chunks" class="fnname">chunks</a>(self, chunk_size: usize) -> <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.fold_chunks" class="fnname">fold_chunks</a><T, ID, F>(<br> self,<br> chunk_size: usize,<br> identity: ID,<br> fold_op: F<br> ) -> <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><Self, ID, F><br> <span class="where">where<br> ID: Fn() -> T + Send + Sync,<br> F: Fn(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> T + Send + Sync,<br> T: Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.fold_chunks_with" class="fnname">fold_chunks_with</a><T, F>(<br> self,<br> chunk_size: usize,<br> init: T,<br> fold_op: F<br> ) -> <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><Self, T, F><br> <span class="where">where<br> T: Send + Clone,<br> F: Fn(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> T + Send + Sync</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.cmp" class="fnname">cmp</a><I>(self, other: I) -> Ordering<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: Ord</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.partial_cmp" class="fnname">partial_cmp</a><I>(self, other: I) -> Option<Ordering><br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.eq" class="fnname">eq</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialEq<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.ne" class="fnname">ne</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialEq<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.lt" class="fnname">lt</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.le" class="fnname">le</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.gt" class="fnname">gt</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.ge" class="fnname">ge</a><I>(self, other: I) -> bool<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.enumerate" class="fnname">enumerate</a>(self) -> <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.step_by" class="fnname">step_by</a>(self, step: usize) -> <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.skip" class="fnname">skip</a>(self, n: usize) -> <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.take" class="fnname">take</a>(self, n: usize) -> <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.position_any" class="fnname">position_any</a><P>(self, predicate: P) -> Option<usize><br> <span class="where">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.position_first" class="fnname">position_first</a><P>(self, predicate: P) -> Option<usize><br> <span class="where">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.position_last" class="fnname">position_last</a><P>(self, predicate: P) -> Option<usize><br> <span class="where">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.positions" class="fnname">positions</a><P>(self, predicate: P) -> <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a><Self, P><br> <span class="where">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send</span>, |
| { ... } |
| <span class="item-spacer"></span> fn <a href="#method.rev" class="fnname">rev</a>(self) -> <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.with_min_len" class="fnname">with_min_len</a>(self, min: usize) -> <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><Self> { ... } |
| <span class="item-spacer"></span> fn <a href="#method.with_max_len" class="fnname">with_max_len</a>(self, max: usize) -> <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><Self> { ... } |
| </details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An iterator that supports “random access” to its data, meaning |
| that you can split it at arbitrary indices and draw data from |
| those points.</p> |
| <p><strong>Note:</strong> Not implemented for <code>u64</code>, <code>i64</code>, <code>u128</code>, or <code>i128</code> ranges</p> |
| </div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.len" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3111">source</a><h4 class="code-header">fn <a href="#tymethod.len" class="fnname">len</a>(&self) -> usize</h4></section></summary><div class="docblock"><p>Produces an exact count of how many items this iterator will |
| produce, presuming no panic occurs.</p> |
| <h5 id="examples"><a href="#examples">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>par_iter = (<span class="number">0</span>..<span class="number">100</span>).into_par_iter().zip(<span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">10</span>]); |
| <span class="macro">assert_eq!</span>(par_iter.len(), <span class="number">10</span>); |
| |
| <span class="kw">let </span>vec: Vec<<span class="kw">_</span>> = par_iter.collect(); |
| <span class="macro">assert_eq!</span>(vec.len(), <span class="number">10</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.drive" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3127">source</a><h4 class="code-header">fn <a href="#tymethod.drive" class="fnname">drive</a><C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(self, consumer: C) -> C::<a class="associatedtype" href="plumbing/trait.Consumer.html#associatedtype.Result" title="type rayon::iter::plumbing::Consumer::Result">Result</a></h4></section></summary><div class="docblock"><p>Internal method used to define the behavior of this parallel |
| iterator. You should not need to call this directly.</p> |
| <p>This method causes the iterator <code>self</code> to start producing |
| items and to feed them to the consumer <code>consumer</code> one by one. |
| It may split the consumer before doing so to create the |
| opportunity to produce in parallel. If a split does happen, it |
| will inform the consumer of the index where the split should |
| occur (unlike <code>ParallelIterator::drive_unindexed()</code>).</p> |
| <p>See the <a href="https://github.com/rayon-rs/rayon/blob/master/src/iter/plumbing/README.md">README</a> for more details on the internals of parallel |
| iterators.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.with_producer" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3144">source</a><h4 class="code-header">fn <a href="#tymethod.with_producer" class="fnname">with_producer</a><CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(<br> self,<br> callback: CB<br>) -> CB::<a class="associatedtype" href="plumbing/trait.ProducerCallback.html#associatedtype.Output" title="type rayon::iter::plumbing::ProducerCallback::Output">Output</a></h4></section></summary><div class="docblock"><p>Internal method used to define the behavior of this parallel |
| iterator. You should not need to call this directly.</p> |
| <p>This method converts the iterator into a producer P and then |
| invokes <code>callback.callback()</code> with P. Note that the type of |
| this producer is not defined as part of the API, since |
| <code>callback</code> must be defined generically for all producers. This |
| allows the producer type to contain references; it also means |
| that parallel iterators can adjust that type without causing a |
| breaking change.</p> |
| <p>See the <a href="https://github.com/rayon-rs/rayon/blob/master/src/iter/plumbing/README.md">README</a> for more details on the internals of parallel |
| iterators.</p> |
| </div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.collect_into_vec" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2412-2414">source</a><h4 class="code-header">fn <a href="#method.collect_into_vec" class="fnname">collect_into_vec</a>(self, target: &mut Vec<Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>)</h4></section></summary><div class="docblock"><p>Collects the results of the iterator into the specified |
| vector. The vector is always cleared before execution |
| begins. If possible, reusing the vector across calls can lead |
| to better performance since it reuses the same backing buffer.</p> |
| <h5 id="examples-1"><a href="#examples-1">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="comment">// any prior data will be cleared |
| </span><span class="kw">let </span><span class="kw-2">mut </span>vec = <span class="macro">vec!</span>[-<span class="number">1</span>, -<span class="number">2</span>, -<span class="number">3</span>]; |
| |
| (<span class="number">0</span>..<span class="number">5</span>).into_par_iter() |
| .collect_into_vec(<span class="kw-2">&mut </span>vec); |
| |
| <span class="macro">assert_eq!</span>(vec, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unzip_into_vecs" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2437-2444">source</a><h4 class="code-header">fn <a href="#method.unzip_into_vecs" class="fnname">unzip_into_vecs</a><A, B>(self, left: &mut Vec<A>, right: &mut Vec<B>)<span class="where fmt-newline">where<br> Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = (A, B)>,<br> A: Send,<br> B: Send,</span></h4></section></summary><div class="docblock"><p>Unzips the results of the iterator into the specified |
| vectors. The vectors are always cleared before execution |
| begins. If possible, reusing the vectors across calls can lead |
| to better performance since they reuse the same backing buffer.</p> |
| <h5 id="examples-2"><a href="#examples-2">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="comment">// any prior data will be cleared |
| </span><span class="kw">let </span><span class="kw-2">mut </span>left = <span class="macro">vec!</span>[<span class="number">42</span>; <span class="number">10</span>]; |
| <span class="kw">let </span><span class="kw-2">mut </span>right = <span class="macro">vec!</span>[-<span class="number">1</span>; <span class="number">10</span>]; |
| |
| (<span class="number">10</span>..<span class="number">15</span>).into_par_iter() |
| .enumerate() |
| .unzip_into_vecs(<span class="kw-2">&mut </span>left, <span class="kw-2">&mut </span>right); |
| |
| <span class="macro">assert_eq!</span>(left, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]); |
| <span class="macro">assert_eq!</span>(right, [<span class="number">10</span>, <span class="number">11</span>, <span class="number">12</span>, <span class="number">13</span>, <span class="number">14</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.zip" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2464-2470">source</a><h4 class="code-header">fn <a href="#method.zip" class="fnname">zip</a><Z>(self, zip_op: Z) -> <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><span class="where fmt-newline">where<br> Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h4></section></summary><div class="docblock"><p>Iterates over tuples <code>(A, B)</code>, where the items <code>A</code> are from |
| this iterator and <code>B</code> are from the iterator given as argument. |
| Like the <code>zip</code> method on ordinary iterators, if the two |
| iterators are of unequal length, you only get the items they |
| have in common.</p> |
| <h5 id="examples-3"><a href="#examples-3">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>result: Vec<<span class="kw">_</span>> = (<span class="number">1</span>..<span class="number">4</span>) |
| .into_par_iter() |
| .zip(<span class="macro">vec!</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>]) |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [(<span class="number">1</span>, <span class="string">'a'</span>), (<span class="number">2</span>, <span class="string">'b'</span>), (<span class="number">3</span>, <span class="string">'c'</span>)]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.zip_eq" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2492-2504">source</a><h4 class="code-header">fn <a href="#method.zip_eq" class="fnname">zip_eq</a><Z>(self, zip_op: Z) -> <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><span class="where fmt-newline">where<br> Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h4></section></summary><div class="docblock"><p>The same as <code>Zip</code>, but requires that both iterators have the same length.</p> |
| <h5 id="panics"><a href="#panics">Panics</a></h5> |
| <p>Will panic if <code>self</code> and <code>zip_op</code> are not the same length.</p> |
| |
| <div class="example-wrap should_panic"><div class='tooltip'>ⓘ</div><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>one = [<span class="number">1u8</span>]; |
| <span class="kw">let </span>two = [<span class="number">2u8</span>, <span class="number">2</span>]; |
| <span class="kw">let </span>one_iter = one.par_iter(); |
| <span class="kw">let </span>two_iter = two.par_iter(); |
| |
| <span class="comment">// this will panic |
| </span><span class="kw">let </span>zipped: Vec<(<span class="kw-2">&</span>u8, <span class="kw-2">&</span>u8)> = one_iter.zip_eq(two_iter).collect(); |
| |
| <span class="comment">// we should never get here |
| </span><span class="macro">assert_eq!</span>(<span class="number">1</span>, zipped.len());</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.interleave" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2520-2526">source</a><h4 class="code-header">fn <a href="#method.interleave" class="fnname">interleave</a><I>(self, other: I) -> <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Interleaves elements of this iterator and the other given |
| iterator. Alternately yields elements from this iterator and |
| the given iterator, until both are exhausted. If one iterator |
| is exhausted before the other, the last elements are provided |
| from the other.</p> |
| <h5 id="examples-4"><a href="#examples-4">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">let </span>(x, y) = (<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>], <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]); |
| <span class="kw">let </span>r: Vec<i32> = x.into_par_iter().interleave(y).collect(); |
| <span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.interleave_shortest" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2539-2545">source</a><h4 class="code-header">fn <a href="#method.interleave_shortest" class="fnname">interleave_shortest</a><I>(self, other: I) -> <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Interleaves elements of this iterator and the other given |
| iterator, until one is exhausted.</p> |
| <h5 id="examples-5"><a href="#examples-5">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">let </span>(x, y) = (<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>], <span class="macro">vec!</span>[<span class="number">5</span>, <span class="number">6</span>]); |
| <span class="kw">let </span>r: Vec<i32> = x.into_par_iter().interleave_shortest(y).collect(); |
| <span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">5</span>, <span class="number">2</span>, <span class="number">6</span>, <span class="number">3</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.chunks" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2568-2571">source</a><h4 class="code-header">fn <a href="#method.chunks" class="fnname">chunks</a>(self, chunk_size: usize) -> <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><Self></h4></section></summary><div class="docblock"><p>Splits an iterator up into fixed-size chunks.</p> |
| <p>Returns an iterator that returns <code>Vec</code>s of the given number of elements. |
| If the number of elements in the iterator is not divisible by <code>chunk_size</code>, |
| the last chunk may be shorter than <code>chunk_size</code>.</p> |
| <p>See also <a href="../slice/trait.ParallelSlice.html#method.par_chunks"><code>par_chunks()</code></a> and <a href="../slice/trait.ParallelSliceMut.html#method.par_chunks_mut"><code>par_chunks_mut()</code></a> for similar behavior on |
| slices, without having to allocate intermediate <code>Vec</code>s for the chunks.</p> |
| <h5 id="examples-6"><a href="#examples-6">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">let </span>a = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>]; |
| <span class="kw">let </span>r: Vec<Vec<i32>> = a.into_par_iter().chunks(<span class="number">3</span>).collect(); |
| <span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="macro">vec!</span>[<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>], <span class="macro">vec!</span>[<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>], <span class="macro">vec!</span>[<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>], <span class="macro">vec!</span>[<span class="number">10</span>]]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fold_chunks" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2604-2617">source</a><h4 class="code-header">fn <a href="#method.fold_chunks" class="fnname">fold_chunks</a><T, ID, F>(<br> self,<br> chunk_size: usize,<br> identity: ID,<br> fold_op: F<br>) -> <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><Self, ID, F><span class="where fmt-newline">where<br> ID: Fn() -> T + Send + Sync,<br> F: Fn(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> T + Send + Sync,<br> T: Send,</span></h4></section></summary><div class="docblock"><p>Splits an iterator into fixed-size chunks, performing a sequential <a href="std::iter::Iterator#method.fold"><code>fold()</code></a> on |
| each chunk.</p> |
| <p>Returns an iterator that produces a folded result for each chunk of items |
| produced by this iterator.</p> |
| <p>This works essentially like:</p> |
| <div class="example-wrap"><pre class="language-text"><code>iter.chunks(chunk_size) |
| .map(|chunk| |
| chunk.into_iter() |
| .fold(identity, fold_op) |
| )</code></pre></div> |
| <p>except there is no per-chunk allocation overhead.</p> |
| <p><strong>Panics</strong> if <code>chunk_size</code> is 0.</p> |
| <h5 id="examples-7"><a href="#examples-7">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">let </span>nums = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>]; |
| <span class="kw">let </span>chunk_sums = nums.into_par_iter().fold_chunks(<span class="number">2</span>, || <span class="number">0</span>, |a, n| a + n).collect::<Vec<<span class="kw">_</span>>>(); |
| <span class="macro">assert_eq!</span>(chunk_sums, <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">7</span>, <span class="number">11</span>, <span class="number">15</span>, <span class="number">19</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fold_chunks_with" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2642-2654">source</a><h4 class="code-header">fn <a href="#method.fold_chunks_with" class="fnname">fold_chunks_with</a><T, F>(<br> self,<br> chunk_size: usize,<br> init: T,<br> fold_op: F<br>) -> <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><Self, T, F><span class="where fmt-newline">where<br> T: Send + Clone,<br> F: Fn(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> T + Send + Sync,</span></h4></section></summary><div class="docblock"><p>Splits an iterator into fixed-size chunks, performing a sequential <a href="std::iter::Iterator#method.fold"><code>fold()</code></a> on |
| each chunk.</p> |
| <p>Returns an iterator that produces a folded result for each chunk of items |
| produced by this iterator.</p> |
| <p>This works essentially like <code>fold_chunks(chunk_size, || init.clone(), fold_op)</code>, |
| except it doesn’t require the <code>init</code> type to be <code>Sync</code>, nor any other form of |
| added synchronization.</p> |
| <p><strong>Panics</strong> if <code>chunk_size</code> is 0.</p> |
| <h5 id="examples-8"><a href="#examples-8">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">let </span>nums = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>]; |
| <span class="kw">let </span>chunk_sums = nums.into_par_iter().fold_chunks_with(<span class="number">2</span>, <span class="number">0</span>, |a, n| a + n).collect::<Vec<<span class="kw">_</span>>>(); |
| <span class="macro">assert_eq!</span>(chunk_sums, <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">7</span>, <span class="number">11</span>, <span class="number">15</span>, <span class="number">19</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cmp" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2670-2692">source</a><h4 class="code-header">fn <a href="#method.cmp" class="fnname">cmp</a><I>(self, other: I) -> Ordering<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: Ord,</span></h4></section></summary><div class="docblock"><p>Lexicographically compares the elements of this <code>ParallelIterator</code> with those of |
| another.</p> |
| <h5 id="examples-9"><a href="#examples-9">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">use </span>std::cmp::Ordering::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>x = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]; |
| <span class="macro">assert_eq!</span>(x.par_iter().cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">3</span>, <span class="number">0</span>]), Less); |
| <span class="macro">assert_eq!</span>(x.par_iter().cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]), Equal); |
| <span class="macro">assert_eq!</span>(x.par_iter().cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>]), Greater);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.partial_cmp" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2710-2732">source</a><h4 class="code-header">fn <a href="#method.partial_cmp" class="fnname">partial_cmp</a><I>(self, other: I) -> Option<Ordering><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Lexicographically compares the elements of this <code>ParallelIterator</code> with those of |
| another.</p> |
| <h5 id="examples-10"><a href="#examples-10">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| <span class="kw">use </span>std::cmp::Ordering::<span class="kw-2">*</span>; |
| <span class="kw">use </span>std::f64::NAN; |
| |
| <span class="kw">let </span>x = <span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>]; |
| <span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">3.0</span>, <span class="number">0.0</span>]), <span class="prelude-val">Some</span>(Less)); |
| <span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>]), <span class="prelude-val">Some</span>(Equal)); |
| <span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>]), <span class="prelude-val">Some</span>(Greater)); |
| <span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, NAN]), <span class="prelude-val">None</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eq" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2736-2749">source</a><h4 class="code-header">fn <a href="#method.eq" class="fnname">eq</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialEq<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are equal to those of another</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ne" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2753-2760">source</a><h4 class="code-header">fn <a href="#method.ne" class="fnname">ne</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialEq<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are unequal to those of another</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lt" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2764-2771">source</a><h4 class="code-header">fn <a href="#method.lt" class="fnname">lt</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are lexicographically less than those of another.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.le" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2775-2783">source</a><h4 class="code-header">fn <a href="#method.le" class="fnname">le</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are less or equal to those of another.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.gt" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2787-2794">source</a><h4 class="code-header">fn <a href="#method.gt" class="fnname">gt</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are lexicographically greater than those of another.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ge" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2798-2806">source</a><h4 class="code-header">fn <a href="#method.ge" class="fnname">ge</a><I>(self, other: I) -> bool<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: PartialOrd<I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</span></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code> |
| are less or equal to those of another.</p> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.enumerate" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2823-2825">source</a><h4 class="code-header">fn <a href="#method.enumerate" class="fnname">enumerate</a>(self) -> <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><Self></h4></section></summary><div class="docblock"><p>Yields an index along with each item.</p> |
| <h5 id="examples-11"><a href="#examples-11">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>chars = <span class="macro">vec!</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>]; |
| <span class="kw">let </span>result: Vec<<span class="kw">_</span>> = chars |
| .into_par_iter() |
| .enumerate() |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [(<span class="number">0</span>, <span class="string">'a'</span>), (<span class="number">1</span>, <span class="string">'b'</span>), (<span class="number">2</span>, <span class="string">'c'</span>)]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.step_by" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2842-2844">source</a><h4 class="code-header">fn <a href="#method.step_by" class="fnname">step_by</a>(self, step: usize) -> <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that steps by the given amount</p> |
| <h5 id="examples-12"><a href="#examples-12">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>range = (<span class="number">3</span>..<span class="number">10</span>); |
| <span class="kw">let </span>result: Vec<i32> = range |
| .into_par_iter() |
| .step_by(<span class="number">3</span>) |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [<span class="number">3</span>, <span class="number">6</span>, <span class="number">9</span>])</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.skip" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2860-2862">source</a><h4 class="code-header">fn <a href="#method.skip" class="fnname">skip</a>(self, n: usize) -> <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that skips the first <code>n</code> elements.</p> |
| <h5 id="examples-13"><a href="#examples-13">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>result: Vec<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">100</span>) |
| .into_par_iter() |
| .skip(<span class="number">95</span>) |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [<span class="number">95</span>, <span class="number">96</span>, <span class="number">97</span>, <span class="number">98</span>, <span class="number">99</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.take" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2878-2880">source</a><h4 class="code-header">fn <a href="#method.take" class="fnname">take</a>(self, n: usize) -> <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that yields the first <code>n</code> elements.</p> |
| <h5 id="examples-14"><a href="#examples-14">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>result: Vec<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">100</span>) |
| .into_par_iter() |
| .take(<span class="number">5</span>) |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.position_any" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2900-2911">source</a><h4 class="code-header">fn <a href="#method.position_any" class="fnname">position_any</a><P>(self, predicate: P) -> Option<usize><span class="where fmt-newline">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send,</span></h4></section></summary><div class="docblock"><p>Searches for <strong>some</strong> item in the parallel iterator that |
| matches the given predicate, and returns its index. Like |
| <code>ParallelIterator::find_any</code>, the parallel search will not |
| necessarily find the <strong>first</strong> match, and once a match is |
| found we’ll attempt to stop processing any more.</p> |
| <h5 id="examples-15"><a href="#examples-15">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">3</span>]; |
| |
| <span class="kw">let </span>i = a.par_iter().position_any(|<span class="kw-2">&</span>x| x == <span class="number">3</span>).expect(<span class="string">"found"</span>); |
| <span class="macro">assert!</span>(i == <span class="number">2 </span>|| i == <span class="number">3</span>); |
| |
| <span class="macro">assert_eq!</span>(a.par_iter().position_any(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.position_first" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2937-2948">source</a><h4 class="code-header">fn <a href="#method.position_first" class="fnname">position_first</a><P>(self, predicate: P) -> Option<usize><span class="where fmt-newline">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send,</span></h4></section></summary><div class="docblock"><p>Searches for the sequentially <strong>first</strong> item in the parallel iterator |
| that matches the given predicate, and returns its index.</p> |
| <p>Like <code>ParallelIterator::find_first</code>, once a match is found, |
| all attempts to the right of the match will be stopped, while |
| attempts to the left must continue in case an earlier match |
| is found.</p> |
| <p>Note that not all parallel iterators have a useful order, much like |
| sequential <code>HashMap</code> iteration, so “first” may be nebulous. If you |
| just want the first match that discovered anywhere in the iterator, |
| <code>position_any</code> is a better choice.</p> |
| <h5 id="examples-16"><a href="#examples-16">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">3</span>]; |
| |
| <span class="macro">assert_eq!</span>(a.par_iter().position_first(|<span class="kw-2">&</span>x| x == <span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>)); |
| |
| <span class="macro">assert_eq!</span>(a.par_iter().position_first(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.position_last" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#2974-2985">source</a><h4 class="code-header">fn <a href="#method.position_last" class="fnname">position_last</a><P>(self, predicate: P) -> Option<usize><span class="where fmt-newline">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send,</span></h4></section></summary><div class="docblock"><p>Searches for the sequentially <strong>last</strong> item in the parallel iterator |
| that matches the given predicate, and returns its index.</p> |
| <p>Like <code>ParallelIterator::find_last</code>, once a match is found, |
| 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.</p> |
| <p>Note that not all parallel iterators have a useful order, much like |
| sequential <code>HashMap</code> iteration, so “last” may be nebulous. When the |
| order doesn’t actually matter to you, <code>position_any</code> is a better |
| choice.</p> |
| <h5 id="examples-17"><a href="#examples-17">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">3</span>]; |
| |
| <span class="macro">assert_eq!</span>(a.par_iter().position_last(|<span class="kw-2">&</span>x| x == <span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">3</span>)); |
| |
| <span class="macro">assert_eq!</span>(a.par_iter().position_last(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.positions" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3017-3022">source</a><h4 class="code-header">fn <a href="#method.positions" class="fnname">positions</a><P>(self, predicate: P) -> <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a><Self, P><span class="where fmt-newline">where<br> P: Fn(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> bool + Sync + Send,</span></h4></section></summary><div class="docblock"><p>Searches for items in the parallel iterator that match the given |
| predicate, and returns their indices.</p> |
| <h5 id="examples-18"><a href="#examples-18">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>primes = <span class="macro">vec!</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">7</span>, <span class="number">11</span>, <span class="number">13</span>, <span class="number">17</span>, <span class="number">19</span>, <span class="number">23</span>, <span class="number">29</span>]; |
| |
| <span class="comment">// Find the positions of primes congruent to 1 modulo 6 |
| </span><span class="kw">let </span>p1mod6: Vec<<span class="kw">_</span>> = primes.par_iter().positions(|<span class="kw-2">&</span>p| p % <span class="number">6 </span>== <span class="number">1</span>).collect(); |
| <span class="macro">assert_eq!</span>(p1mod6, [<span class="number">3</span>, <span class="number">5</span>, <span class="number">7</span>]); <span class="comment">// primes 7, 13, and 19 |
| |
| // Find the positions of primes congruent to 5 modulo 6 |
| </span><span class="kw">let </span>p5mod6: Vec<<span class="kw">_</span>> = primes.par_iter().positions(|<span class="kw-2">&</span>p| p % <span class="number">6 </span>== <span class="number">5</span>).collect(); |
| <span class="macro">assert_eq!</span>(p5mod6, [<span class="number">2</span>, <span class="number">4</span>, <span class="number">6</span>, <span class="number">8</span>, <span class="number">9</span>]); <span class="comment">// primes 5, 11, 17, 23, and 29</span></code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.rev" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3039-3041">source</a><h4 class="code-header">fn <a href="#method.rev" class="fnname">rev</a>(self) -> <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><Self></h4></section></summary><div class="docblock"><p>Produces a new iterator with the elements of this iterator in |
| reverse order.</p> |
| <h5 id="examples-19"><a href="#examples-19">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>result: Vec<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">5</span>) |
| .into_par_iter() |
| .rev() |
| .collect(); |
| |
| <span class="macro">assert_eq!</span>(result, [<span class="number">4</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">0</span>]);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_min_len" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3065-3067">source</a><h4 class="code-header">fn <a href="#method.with_min_len" class="fnname">with_min_len</a>(self, min: usize) -> <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><Self></h4></section></summary><div class="docblock"><p>Sets the minimum length of iterators desired to process in each |
| rayon job. Rayon will not split any smaller than this length, but |
| of course an iterator could already be smaller to begin with.</p> |
| <p>Producers like <code>zip</code> and <code>interleave</code> will use greater of the two |
| minimums. |
| Chained iterators and iterators inside <code>flat_map</code> may each use |
| their own minimum length.</p> |
| <h5 id="examples-20"><a href="#examples-20">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>min = (<span class="number">0</span>..<span class="number">1_000_000</span>) |
| .into_par_iter() |
| .with_min_len(<span class="number">1234</span>) |
| .fold(|| <span class="number">0</span>, |acc, <span class="kw">_</span>| acc + <span class="number">1</span>) <span class="comment">// count how many are in this segment |
| </span>.min().unwrap(); |
| |
| <span class="macro">assert!</span>(min >= <span class="number">1234</span>);</code></pre></div> |
| </div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_max_len" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3093-3095">source</a><h4 class="code-header">fn <a href="#method.with_max_len" class="fnname">with_max_len</a>(self, max: usize) -> <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><Self></h4></section></summary><div class="docblock"><p>Sets the maximum length of iterators desired to process in each |
| rayon job. Rayon will try to split at least below this length, |
| unless that would put it below the length from <code>with_min_len()</code>. |
| For example, given min=10 and max=15, a length of 16 will not be |
| split any further.</p> |
| <p>Producers like <code>zip</code> and <code>interleave</code> will use lesser of the two |
| maximums. |
| Chained iterators and iterators inside <code>flat_map</code> may each use |
| their own maximum length.</p> |
| <h5 id="examples-21"><a href="#examples-21">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span>max = (<span class="number">0</span>..<span class="number">1_000_000</span>) |
| .into_par_iter() |
| .with_max_len(<span class="number">1234</span>) |
| .fold(|| <span class="number">0</span>, |acc, <span class="kw">_</span>| acc + <span class="number">1</span>) <span class="comment">// count how many are in this segment |
| </span>.max().unwrap(); |
| |
| <span class="macro">assert!</span>(max <= <span class="number">1234</span>);</code></pre></div> |
| </div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div id="implementors-list"><section id="impl-IndexedParallelIterator-for-Iter%3Cchar%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/range.rs.html#338-368">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3Cchar%3E" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range::<a class="struct" href="../range/struct.Iter.html" title="struct rayon::range::Iter">Iter</a><char></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3Cchar%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/range_inclusive.rs.html#281-311">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3Cchar%3E-1" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range_inclusive::<a class="struct" href="../range_inclusive/struct.Iter.html" title="struct rayon::range_inclusive::Iter">Iter</a><char></h3></section><section id="impl-IndexedParallelIterator-for-Cloned%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/cloned.rs.html#48-91">source</a><a href="#impl-IndexedParallelIterator-for-Cloned%3CI%3E" class="anchor"></a><h3 class="code-header">impl<'a, T, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Cloned.html" title="struct rayon::iter::Cloned">Cloned</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = &'a T>,<br> T: 'a + Clone + Send + Sync,</span></h3></section><section id="impl-IndexedParallelIterator-for-Copied%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/copied.rs.html#48-91">source</a><a href="#impl-IndexedParallelIterator-for-Copied%3CI%3E" class="anchor"></a><h3 class="code-header">impl<'a, T, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Copied.html" title="struct rayon::iter::Copied">Copied</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = &'a T>,<br> T: 'a + Copy + Send + Sync,</span></h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/binary_heap.rs.html#91-111">source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'a, T: Ord + Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::binary_heap::<a class="struct" href="../collections/binary_heap/struct.Drain.html" title="struct rayon::collections::binary_heap::Drain">Drain</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/binary_heap.rs.html#53-56">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'a, T: Ord + Sync + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::binary_heap::<a class="struct" href="../collections/binary_heap/struct.Iter.html" title="struct rayon::collections::binary_heap::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/vec_deque.rs.html#86-89">source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'a, T: Send + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.IterMut.html" title="struct rayon::collections::vec_deque::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/option.rs.html#140-143">source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E-1" class="anchor"></a><h3 class="code-header">impl<'a, T: Send + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.IterMut.html" title="struct rayon::option::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E-2" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/result.rs.html#83-86">source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C%27a%2C%20T%3E-2" class="anchor"></a><h3 class="code-header">impl<'a, T: Send + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.IterMut.html" title="struct rayon::result::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C%27a%2C%20T%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/vec_deque.rs.html#128-149">source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C%27a%2C%20T%3E-1" class="anchor"></a><h3 class="code-header">impl<'a, T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.Drain.html" title="struct rayon::collections::vec_deque::Drain">Drain</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/vec_deque.rs.html#63-66">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-1" class="anchor"></a><h3 class="code-header">impl<'a, T: Sync + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.Iter.html" title="struct rayon::collections::vec_deque::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-2" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/option.rs.html#110-113">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-2" class="anchor"></a><h3 class="code-header">impl<'a, T: Sync + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.Iter.html" title="struct rayon::option::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-3" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/result.rs.html#61-64">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C%27a%2C%20T%3E-3" class="anchor"></a><h3 class="code-header">impl<'a, T: Sync + 'a> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.Iter.html" title="struct rayon::result::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-ChunksExactMut%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/chunks.rs.html#339-360">source</a><a href="#impl-IndexedParallelIterator-for-ChunksExactMut%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.ChunksExactMut.html" title="struct rayon::slice::ChunksExactMut">ChunksExactMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-ChunksMut%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/chunks.rs.html#221-242">source</a><a href="#impl-IndexedParallelIterator-for-ChunksMut%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.ChunksMut.html" title="struct rayon::slice::ChunksMut">ChunksMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/mod.rs.html#857-875">source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::slice::<a class="struct" href="../slice/struct.IterMut.html" title="struct rayon::slice::IterMut">IterMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-RChunksExactMut%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/rchunks.rs.html#336-357">source</a><a href="#impl-IndexedParallelIterator-for-RChunksExactMut%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.RChunksExactMut.html" title="struct rayon::slice::RChunksExactMut">RChunksExactMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-RChunksMut%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/rchunks.rs.html#219-240">source</a><a href="#impl-IndexedParallelIterator-for-RChunksMut%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.RChunksMut.html" title="struct rayon::slice::RChunksMut">RChunksMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/vec.rs.html#123-150">source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::vec::<a class="struct" href="../vec/struct.Drain.html" title="struct rayon::vec::Drain">Drain</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-Chunks%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/chunks.rs.html#40-61">source</a><a href="#impl-IndexedParallelIterator-for-Chunks%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::slice::<a class="struct" href="../slice/struct.Chunks.html" title="struct rayon::slice::Chunks">Chunks</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-ChunksExact%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/chunks.rs.html#141-162">source</a><a href="#impl-IndexedParallelIterator-for-ChunksExact%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.ChunksExact.html" title="struct rayon::slice::ChunksExact">ChunksExact</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/mod.rs.html#716-734">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::slice::<a class="struct" href="../slice/struct.Iter.html" title="struct rayon::slice::Iter">Iter</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-RChunks%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/rchunks.rs.html#39-60">source</a><a href="#impl-IndexedParallelIterator-for-RChunks%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.RChunks.html" title="struct rayon::slice::RChunks">RChunks</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-RChunksExact%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/rchunks.rs.html#139-160">source</a><a href="#impl-IndexedParallelIterator-for-RChunksExact%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.RChunksExact.html" title="struct rayon::slice::RChunksExact">RChunksExact</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-Windows%3C%27data%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/slice/mod.rs.html#782-804">source</a><a href="#impl-IndexedParallelIterator-for-Windows%3C%27data%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl<'data, T: Sync + 'data> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.Windows.html" title="struct rayon::slice::Windows">Windows</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C)%3E" class="anchor"></a><h3 class="code-header">impl<A> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A,)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Chain%3CA%2C%20B%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/chain.rs.html#67-144">source</a><a href="#impl-IndexedParallelIterator-for-Chain%3CA%2C%20B%3E" class="anchor"></a><h3 class="code-header">impl<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Chain.html" title="struct rayon::iter::Chain">Chain</a><A, B><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = A::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B)%3E" class="anchor"></a><h3 class="code-header">impl<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Zip%3CA%2C%20B%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/zip.rs.html#49-120">source</a><a href="#impl-IndexedParallelIterator-for-Zip%3CA%2C%20B%3E" class="anchor"></a><h3 class="code-header">impl<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><A, B><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-ZipEq%3CA%2C%20B%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/zip_eq.rs.html#50-72">source</a><a href="#impl-IndexedParallelIterator-for-ZipEq%3CA%2C%20B%3E" class="anchor"></a><h3 class="code-header">impl<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><A, B><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G, H> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G, H)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G, H, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G, H, I)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G, H, I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G, H, I, J)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J%2C%20K)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J%2C%20K)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G, H, I, J, K> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G, H, I, J, K)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> K: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J%2C%20K%2C%20L)%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/multizip.rs.html#235-338">source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A%2C%20B%2C%20C%2C%20D%2C%20E%2C%20F%2C%20G%2C%20H%2C%20I%2C%20J%2C%20K%2C%20L)%3E" class="anchor"></a><h3 class="code-header">impl<A, B, C, D, E, F, G, H, I, J, K, L> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><(A, B, C, D, E, F, G, H, I, J, K, L)><span class="where fmt-newline">where<br> A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> K: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> L: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Chunks%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/chunks.rs.html#51-98">source</a><a href="#impl-IndexedParallelIterator-for-Chunks%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::iter::<a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Enumerate%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/enumerate.rs.html#46-82">source</a><a href="#impl-IndexedParallelIterator-for-Enumerate%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Intersperse%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/intersperse.rs.html#57-112">source</a><a href="#impl-IndexedParallelIterator-for-Intersperse%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Intersperse.html" title="struct rayon::iter::Intersperse">Intersperse</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: Clone + Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-MaxLen%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/len.rs.html#179-222">source</a><a href="#impl-IndexedParallelIterator-for-MaxLen%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MinLen%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/len.rs.html#45-88">source</a><a href="#impl-IndexedParallelIterator-for-MinLen%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-PanicFuse%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/panic_fuse.rs.html#72-121">source</a><a href="#impl-IndexedParallelIterator-for-PanicFuse%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.PanicFuse.html" title="struct rayon::iter::PanicFuse">PanicFuse</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Rev%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/rev.rs.html#44-85">source</a><a href="#impl-IndexedParallelIterator-for-Rev%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Skip%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/skip.rs.html#47-95">source</a><a href="#impl-IndexedParallelIterator-for-Skip%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-StepBy%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/step_by.rs.html#49-96">source</a><a href="#impl-IndexedParallelIterator-for-StepBy%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Take%3CI%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/take.rs.html#46-86">source</a><a href="#impl-IndexedParallelIterator-for-Take%3CI%3E" class="anchor"></a><h3 class="code-header">impl<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><I><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</span></h3></section><section id="impl-IndexedParallelIterator-for-Inspect%3CI%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/inspect.rs.html#57-107">source</a><a href="#impl-IndexedParallelIterator-for-Inspect%3CI%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Inspect.html" title="struct rayon::iter::Inspect">Inspect</a><I, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: Fn(&I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) + Sync + Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-Update%3CI%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/update.rs.html#56-106">source</a><a href="#impl-IndexedParallelIterator-for-Update%3CI%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Update.html" title="struct rayon::iter::Update">Update</a><I, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: Fn(&mut I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) + Send + Sync,</span></h3></section><section id="impl-IndexedParallelIterator-for-Map%3CI%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/map.rs.html#57-109">source</a><a href="#impl-IndexedParallelIterator-for-Map%3CI%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Map.html" title="struct rayon::iter::Map">Map</a><I, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> F: Fn(I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> R + Sync + Send,<br> R: Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-FoldChunks%3CI%2C%20ID%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/fold_chunks.rs.html#75-134">source</a><a href="#impl-IndexedParallelIterator-for-FoldChunks%3CI%2C%20ID%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, ID, U, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><I, ID, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> ID: Fn() -> U + Send + Sync,<br> F: Fn(U, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> U + Send + Sync,<br> U: Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-MapInit%3CI%2C%20INIT%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/map_with.rs.html#390-447">source</a><a href="#impl-IndexedParallelIterator-for-MapInit%3CI%2C%20INIT%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, INIT, T, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MapInit.html" title="struct rayon::iter::MapInit">MapInit</a><I, INIT, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> INIT: Fn() -> T + Sync + Send,<br> F: Fn(&mut T, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> R + Sync + Send,<br> R: Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-Interleave%3CI%2C%20J%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/interleave.rs.html#53-141">source</a><a href="#impl-IndexedParallelIterator-for-Interleave%3CI%2C%20J%3E" class="anchor"></a><h3 class="code-header">impl<I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><I, J><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h3></section><section id="impl-IndexedParallelIterator-for-InterleaveShortest%3CI%2C%20J%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/interleave_shortest.rs.html#63-85">source</a><a href="#impl-IndexedParallelIterator-for-InterleaveShortest%3CI%2C%20J%3E" class="anchor"></a><h3 class="code-header">impl<I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><I, J><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h3></section><section id="impl-IndexedParallelIterator-for-MapWith%3CI%2C%20T%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/map_with.rs.html#61-118">source</a><a href="#impl-IndexedParallelIterator-for-MapWith%3CI%2C%20T%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, T, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MapWith.html" title="struct rayon::iter::MapWith">MapWith</a><I, T, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> T: Send + Clone,<br> F: Fn(&mut T, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> R + Sync + Send,<br> R: Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-FoldChunksWith%3CI%2C%20U%2C%20F%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/fold_chunks_with.rs.html#74-132">source</a><a href="#impl-IndexedParallelIterator-for-FoldChunksWith%3CI%2C%20U%2C%20F%3E" class="anchor"></a><h3 class="code-header">impl<I, U, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><I, U, F><span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> U: Send + Clone,<br> F: Fn(U, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> U + Send + Sync,</span></h3></section><section id="impl-IndexedParallelIterator-for-Either%3CL%2C%20R%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/par_either.rs.html#28-56">source</a><a href="#impl-IndexedParallelIterator-for-Either%3CL%2C%20R%3E" class="anchor"></a><h3 class="code-header">impl<L, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="enum" href="enum.Either.html" title="enum rayon::iter::Either">Either</a><L, R><span class="where fmt-newline">where<br> L: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,<br> R: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = L::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</span></h3></section><section id="impl-IndexedParallelIterator-for-RepeatN%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/repeat.rs.html#144-168">source</a><a href="#impl-IndexedParallelIterator-for-RepeatN%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.RepeatN.html" title="struct rayon::iter::RepeatN">RepeatN</a><T><span class="where fmt-newline">where<br> T: Clone + Send,</span></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/range.rs.html#135-154">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T: IndexedRangeInteger> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range::<a class="struct" href="../range/struct.Iter.html" title="struct rayon::range::Iter">Iter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3CT%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/range_inclusive.rs.html#141-160">source</a><a href="#impl-IndexedParallelIterator-for-Iter%3CT%3E-1" class="anchor"></a><h3 class="code-header">impl<T: IndexedRangeInteger> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range_inclusive::<a class="struct" href="../range_inclusive/struct.Iter.html" title="struct rayon::range_inclusive::Iter">Iter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/binary_heap.rs.html#29-32">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T: Ord + Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::binary_heap::<a class="struct" href="../collections/binary_heap/struct.IntoIter.html" title="struct rayon::collections::binary_heap::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/collections/vec_deque.rs.html#32-35">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-1" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.IntoIter.html" title="struct rayon::collections::vec_deque::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-2" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/option.rs.html#50-75">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-2" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.IntoIter.html" title="struct rayon::option::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-3" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/result.rs.html#31-34">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-3" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.IntoIter.html" title="struct rayon::result::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-4" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/vec.rs.html#66-85">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-4" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::vec::<a class="struct" href="../vec/struct.IntoIter.html" title="struct rayon::vec::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Empty%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/empty.rs.html#62-80">source</a><a href="#impl-IndexedParallelIterator-for-Empty%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Empty.html" title="struct rayon::iter::Empty">Empty</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Once%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/once.rs.html#49-68">source</a><a href="#impl-IndexedParallelIterator-for-Once%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T: Send> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Once.html" title="struct rayon::iter::Once">Once</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%2C%20N%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/array.rs.html#62-85">source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%2C%20N%3E" class="anchor"></a><h3 class="code-header">impl<T: Send, const N: usize> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::array::<a class="struct" href="../array/struct.IntoIter.html" title="struct rayon::array::IntoIter">IntoIter</a><T, N></h3></section></div><script src="../../implementors/rayon/iter/trait.IndexedParallelIterator.js" data-ignore-extern-crates="either" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="rayon" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html> |