Files
GopherGate/target/doc/rayon/iter/trait.IndexedParallelIterator.html
2026-02-26 12:00:21 -05:00

617 lines
163 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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."><title>IndexedParallelIterator in rayon::iter - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="rayon" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.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]--><rustdoc-topbar><h2><a href="#">IndexedParallelIterator</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../rayon/index.html">rayon</a><span class="version">1.11.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Indexed<wbr>Parallel<wbr>Iterator</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.drive" title="drive">drive</a></li><li><a href="#tymethod.len" title="len">len</a></li><li><a href="#tymethod.with_producer" title="with_producer">with_producer</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.by_exponential_blocks" title="by_exponential_blocks">by_exponential_blocks</a></li><li><a href="#method.by_uniform_blocks" title="by_uniform_blocks">by_uniform_blocks</a></li><li><a href="#method.chunks" title="chunks">chunks</a></li><li><a href="#method.cmp" title="cmp">cmp</a></li><li><a href="#method.collect_into_vec" title="collect_into_vec">collect_into_vec</a></li><li><a href="#method.enumerate" title="enumerate">enumerate</a></li><li><a href="#method.eq" title="eq">eq</a></li><li><a href="#method.fold_chunks" title="fold_chunks">fold_chunks</a></li><li><a href="#method.fold_chunks_with" title="fold_chunks_with">fold_chunks_with</a></li><li><a href="#method.ge" title="ge">ge</a></li><li><a href="#method.gt" title="gt">gt</a></li><li><a href="#method.interleave" title="interleave">interleave</a></li><li><a href="#method.interleave_shortest" title="interleave_shortest">interleave_shortest</a></li><li><a href="#method.le" title="le">le</a></li><li><a href="#method.lt" title="lt">lt</a></li><li><a href="#method.ne" title="ne">ne</a></li><li><a href="#method.partial_cmp" title="partial_cmp">partial_cmp</a></li><li><a href="#method.position_any" title="position_any">position_any</a></li><li><a href="#method.position_first" title="position_first">position_first</a></li><li><a href="#method.position_last" title="position_last">position_last</a></li><li><a href="#method.positions" title="positions">positions</a></li><li><a href="#method.rev" title="rev">rev</a></li><li><a href="#method.skip" title="skip">skip</a></li><li><a href="#method.step_by" title="step_by">step_by</a></li><li><a href="#method.take" title="take">take</a></li><li><a href="#method.unzip_into_vecs" title="unzip_into_vecs">unzip_into_vecs</a></li><li><a href="#method.with_max_len" title="with_max_len">with_max_len</a></li><li><a href="#method.with_min_len" title="with_min_len">with_min_len</a></li><li><a href="#method.zip" title="zip">zip</a></li><li><a href="#method.zip_eq" title="zip_eq">zip_eq</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In rayon::<wbr>iter</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">rayon</a>::<wbr><a href="index.html">iter</a></div><h1>Trait <span class="trait">Indexed<wbr>Parallel<wbr>Iterator</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/rayon/iter/mod.rs.html#2439-3244">Source</a> </span></div><pre class="rust item-decl"><code>pub trait IndexedParallelIterator: <a class="trait" href="trait.ParallelIterator.html" title="trait rayon::iter::ParallelIterator">ParallelIterator</a> {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 33 methods</span></summary> // Required methods
fn <a href="#tymethod.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.drive" class="fn">drive</a>&lt;C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;&gt;(self, consumer: C) -&gt; 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="fn">with_producer</a>&lt;CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;&gt;(
self,
callback: CB,
) -&gt; CB::<a class="associatedtype" href="plumbing/trait.ProducerCallback.html#associatedtype.Output" title="type rayon::iter::plumbing::ProducerCallback::Output">Output</a>;
// Provided methods
fn <a href="#method.by_exponential_blocks" class="fn">by_exponential_blocks</a>(self) -&gt; <a class="struct" href="struct.ExponentialBlocks.html" title="struct rayon::iter::ExponentialBlocks">ExponentialBlocks</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.by_uniform_blocks" class="fn">by_uniform_blocks</a>(self, block_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.UniformBlocks.html" title="struct rayon::iter::UniformBlocks">UniformBlocks</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.collect_into_vec" class="fn">collect_into_vec</a>(self, target: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;) { ... }
<span class="item-spacer"></span> fn <a href="#method.unzip_into_vecs" class="fn">unzip_into_vecs</a>&lt;A, B&gt;(self, left: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;A&gt;, right: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;B&gt;)
<span class="where">where Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>&gt;,
A: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.zip" class="fn">zip</a>&lt;Z&gt;(self, zip_op: Z) -&gt; <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a>&lt;Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;
<span class="where">where Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.zip_eq" class="fn">zip_eq</a>&lt;Z&gt;(self, zip_op: Z) -&gt; <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a>&lt;Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;
<span class="where">where Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.interleave" class="fn">interleave</a>&lt;I&gt;(self, other: I) -&gt; <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a>&lt;Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.interleave_shortest" class="fn">interleave_shortest</a>&lt;I&gt;(
self,
other: I,
) -&gt; <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a>&lt;Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.chunks" class="fn">chunks</a>(self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.fold_chunks" class="fn">fold_chunks</a>&lt;T, ID, F&gt;(
self,
chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
identity: ID,
fold_op: F,
) -&gt; <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a>&lt;Self, ID, F&gt;
<span class="where">where ID: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.fold_chunks_with" class="fn">fold_chunks_with</a>&lt;T, F&gt;(
self,
chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
init: T,
fold_op: F,
) -&gt; <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a>&lt;Self, T, F&gt;
<span class="where">where T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.cmp" class="fn">cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.partial_cmp" class="fn">partial_cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.eq" class="fn">eq</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.ne" class="fn">ne</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.lt" class="fn">lt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.le" class="fn">le</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.gt" class="fn">gt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.ge" class="fn">ge</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.enumerate" class="fn">enumerate</a>(self) -&gt; <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.step_by" class="fn">step_by</a>(self, step: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.skip" class="fn">skip</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.take" class="fn">take</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.position_any" class="fn">position_any</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;
<span class="where">where P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.position_first" class="fn">position_first</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;
<span class="where">where P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.position_last" class="fn">position_last</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;
<span class="where">where P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.positions" class="fn">positions</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a>&lt;Self, P&gt;
<span class="where">where P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.rev" class="fn">rev</a>(self) -&gt; <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.with_min_len" class="fn">with_min_len</a>(self, min: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a>&lt;Self&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.with_max_len" class="fn">with_max_len</a>(self, max: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a>&lt;Self&gt; { ... }
</details>}</code></pre><details class="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="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.len" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3210">Source</a><h4 class="code-header">fn <a href="#tymethod.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></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 class="doc-anchor" href="#examples">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = par_iter.collect();
<span class="macro">assert_eq!</span>(vec.len(), <span class="number">10</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="tymethod.drive" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3226">Source</a><h4 class="code-header">fn <a href="#tymethod.drive" class="fn">drive</a>&lt;C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;&gt;(self, consumer: C) -&gt; 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/main/src/iter/plumbing/README.md">README</a> for more details on the internals of parallel
iterators.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.with_producer" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3243">Source</a><h4 class="code-header">fn <a href="#tymethod.with_producer" class="fn">with_producer</a>&lt;CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;&gt;(
self,
callback: CB,
) -&gt; 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/main/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="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.by_exponential_blocks" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2473-2475">Source</a><h4 class="code-header">fn <a href="#method.by_exponential_blocks" class="fn">by_exponential_blocks</a>(self) -&gt; <a class="struct" href="struct.ExponentialBlocks.html" title="struct rayon::iter::ExponentialBlocks">ExponentialBlocks</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Divides an iterator into sequential blocks of exponentially-increasing size.</p>
<p>Normally, parallel iterators are recursively divided into tasks in parallel.
This adaptor changes the default behavior by splitting the iterator into a <strong>sequence</strong>
of parallel iterators of increasing sizes.
Sizes grow exponentially in order to avoid creating
too many blocks. This also allows to balance the current block with all previous ones.</p>
<p>This can have many applications but the most notable ones are:</p>
<ul>
<li>better performance with <a href="trait.ParallelIterator.html#method.find_first" title="method rayon::iter::ParallelIterator::find_first"><code>find_first()</code></a></li>
<li>more predictable performance with <a href="trait.ParallelIterator.html#method.find_any" title="method rayon::iter::ParallelIterator::find_any"><code>find_any()</code></a>
or any interruptible computation</li>
</ul>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</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="macro">assert_eq!</span>((<span class="number">0</span>..<span class="number">10_000</span>).into_par_iter()
.by_exponential_blocks()
.find_first(|<span class="kw-2">&amp;</span>e| e==<span class="number">4_999</span>), <span class="prelude-val">Some</span>(<span class="number">4_999</span>))</code></pre></div>
<p>In this example, without blocks, rayon will split the initial range into two but all work
on the right hand side (from 5,000 onwards) is <strong>useless</strong> since the sequential algorithm
never goes there. This means that if two threads are used there will be <strong>no</strong> speedup <strong>at
all</strong>.</p>
<p><code>by_exponential_blocks</code> on the other hand will start with the leftmost range from 0
to <code>p</code> (threads number), continue with p to 3p, the 3p to 7p…</p>
<p>Each subrange is treated in parallel, while all subranges are treated sequentially.
We therefore ensure a logarithmic number of blocks (and overhead) while guaranteeing
we stop at the first block containing the searched data.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.by_uniform_blocks" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2499-2502">Source</a><h4 class="code-header">fn <a href="#method.by_uniform_blocks" class="fn">by_uniform_blocks</a>(self, block_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.UniformBlocks.html" title="struct rayon::iter::UniformBlocks">UniformBlocks</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Divides an iterator into sequential blocks of the given size.</p>
<p>Normally, parallel iterators are recursively divided into tasks in parallel.
This adaptor changes the default behavior by splitting the iterator into a <strong>sequence</strong>
of parallel iterators of given <code>block_size</code>.
The main application is to obtain better
memory locality (especially if the reduce operation re-use folded data).</p>
<p><strong>Panics</strong> if <code>block_size</code> is 0.</p>
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</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">// during most reductions v1 and v2 fit the cache
</span><span class="kw">let </span>v = (<span class="number">0u32</span>..<span class="number">10_000_000</span>)
.into_par_iter()
.by_uniform_blocks(<span class="number">1_000_000</span>)
.fold(Vec::new, |<span class="kw-2">mut </span>v, e| { v.push(e); v})
.reduce(Vec::new, |<span class="kw-2">mut </span>v1, <span class="kw-2">mut </span>v2| { v1.append(<span class="kw-2">&amp;mut </span>v2); v1});
<span class="macro">assert_eq!</span>(v, (<span class="number">0u32</span>..<span class="number">10_000_000</span>).collect::&lt;Vec&lt;u32&gt;&gt;());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.collect_into_vec" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2522-2524">Source</a><h4 class="code-header">fn <a href="#method.collect_into_vec" class="fn">collect_into_vec</a>(self, target: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;)</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-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</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">&amp;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="toggle method-toggle" open><summary><section id="method.unzip_into_vecs" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2547-2554">Source</a><h4 class="code-header">fn <a href="#method.unzip_into_vecs" class="fn">unzip_into_vecs</a>&lt;A, B&gt;(self, left: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;A&gt;, right: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;B&gt;)<div class="where">where
Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>&gt;,
A: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></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-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</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">&amp;mut </span>left, <span class="kw-2">&amp;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="toggle method-toggle" open><summary><section id="method.zip" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2574-2579">Source</a><h4 class="code-header">fn <a href="#method.zip" class="fn">zip</a>&lt;Z&gt;(self, zip_op: Z) -&gt; <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a>&lt;Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;<div class="where">where
Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,</div></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-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = (<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="toggle method-toggle" open><summary><section id="method.zip_eq" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2601-2612">Source</a><h4 class="code-header">fn <a href="#method.zip_eq" class="fn">zip_eq</a>&lt;Z&gt;(self, zip_op: Z) -&gt; <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a>&lt;Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;<div class="where">where
Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,</div></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 class="doc-anchor" href="#panics">§</a>Panics</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"><a href="#" class="tooltip" title="This example panics"></a><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&lt;(<span class="kw-2">&amp;</span>u8, <span class="kw-2">&amp;</span>u8)&gt; = 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="toggle method-toggle" open><summary><section id="method.interleave" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2628-2633">Source</a><h4 class="code-header">fn <a href="#method.interleave" class="fn">interleave</a>&lt;I&gt;(self, other: I) -&gt; <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a>&lt;Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;<div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,</div></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-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</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&lt;i32&gt; = 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="toggle method-toggle" open><summary><section id="method.interleave_shortest" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2646-2651">Source</a><h4 class="code-header">fn <a href="#method.interleave_shortest" class="fn">interleave_shortest</a>&lt;I&gt;(self, other: I) -&gt; <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a>&lt;Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>&gt;<div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,</div></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-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</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&lt;i32&gt; = 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="toggle method-toggle" open><summary><section id="method.chunks" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2676-2679">Source</a><h4 class="code-header">fn <a href="#method.chunks" class="fn">chunks</a>(self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a>&lt;Self&gt;</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" title="method rayon::slice::ParallelSlice::par_chunks"><code>par_chunks()</code></a> and <a href="../slice/trait.ParallelSliceMut.html#method.par_chunks_mut" title="method rayon::slice::ParallelSliceMut::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>
<p><strong>Panics</strong> if <code>chunk_size</code> is 0.</p>
<h5 id="examples-7"><a class="doc-anchor" href="#examples-7">§</a>Examples</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&lt;Vec&lt;i32&gt;&gt; = 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="toggle method-toggle" open><summary><section id="method.fold_chunks" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2712-2725">Source</a><h4 class="code-header">fn <a href="#method.fold_chunks" class="fn">fold_chunks</a>&lt;T, ID, F&gt;(
self,
chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
identity: ID,
fold_op: F,
) -&gt; <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a>&lt;Self, ID, F&gt;<div class="where">where
ID: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h4></section></summary><div class="docblock"><p>Splits an iterator into fixed-size chunks, performing a sequential <a href="https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html#method.fold" title="trait core::iter::traits::iterator::Iterator"><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-8"><a class="doc-anchor" href="#examples-8">§</a>Examples</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::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
<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="toggle method-toggle" open><summary><section id="method.fold_chunks_with" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2750-2762">Source</a><h4 class="code-header">fn <a href="#method.fold_chunks_with" class="fn">fold_chunks_with</a>&lt;T, F&gt;(
self,
chunk_size: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
init: T,
fold_op: F,
) -&gt; <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a>&lt;Self, T, F&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(T, Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h4></section></summary><div class="docblock"><p>Splits an iterator into fixed-size chunks, performing a sequential <a href="https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html#method.fold" title="trait core::iter::traits::iterator::Iterator"><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 doesnt 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-9"><a class="doc-anchor" href="#examples-9">§</a>Examples</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::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
<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="toggle method-toggle" open><summary><section id="method.cmp" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2778-2799">Source</a><h4 class="code-header">fn <a href="#method.cmp" class="fn">cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></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 class="doc-anchor" href="#examples-10">§</a>Examples</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">&amp;</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">&amp;</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">&amp;</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>]), Greater);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2816-2837">Source</a><h4 class="code-header">fn <a href="#method.partial_cmp" class="fn">partial_cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;<div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Lexicographically compares the elements of this <code>ParallelIterator</code> with those of
another.</p>
<h5 id="examples-11"><a class="doc-anchor" href="#examples-11">§</a>Examples</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.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">&amp;</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">&amp;</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">&amp;</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">&amp;</span><span class="macro">vec!</span>[<span class="number">1.0</span>, f64::NAN]), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.eq" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2841-2853">Source</a><h4 class="code-header">fn <a href="#method.eq" class="fn">eq</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></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="toggle method-toggle" open><summary><section id="method.ne" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2857-2863">Source</a><h4 class="code-header">fn <a href="#method.ne" class="fn">ne</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></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="toggle method-toggle" open><summary><section id="method.lt" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2867-2873">Source</a><h4 class="code-header">fn <a href="#method.lt" class="fn">lt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></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="toggle method-toggle" open><summary><section id="method.le" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2877-2884">Source</a><h4 class="code-header">fn <a href="#method.le" class="fn">le</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code>
are less than or equal to those of another.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2888-2894">Source</a><h4 class="code-header">fn <a href="#method.gt" class="fn">gt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></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="toggle method-toggle" open><summary><section id="method.ge" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2898-2905">Source</a><h4 class="code-header">fn <a href="#method.ge" class="fn">ge</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a>&lt;Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&gt;,
Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Determines if the elements of this <code>ParallelIterator</code>
are greater than or equal to those of another.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.enumerate" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2922-2924">Source</a><h4 class="code-header">fn <a href="#method.enumerate" class="fn">enumerate</a>(self) -&gt; <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Yields an index along with each item.</p>
<h5 id="examples-12"><a class="doc-anchor" href="#examples-12">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = 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="toggle method-toggle" open><summary><section id="method.step_by" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2941-2943">Source</a><h4 class="code-header">fn <a href="#method.step_by" class="fn">step_by</a>(self, step: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Creates an iterator that steps by the given amount</p>
<h5 id="examples-13"><a class="doc-anchor" href="#examples-13">§</a>Examples</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&lt;i32&gt; = 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="toggle method-toggle" open><summary><section id="method.skip" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2959-2961">Source</a><h4 class="code-header">fn <a href="#method.skip" class="fn">skip</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Creates an iterator that skips the first <code>n</code> elements.</p>
<h5 id="examples-14"><a class="doc-anchor" href="#examples-14">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = (<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="toggle method-toggle" open><summary><section id="method.take" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2977-2979">Source</a><h4 class="code-header">fn <a href="#method.take" class="fn">take</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Creates an iterator that yields the first <code>n</code> elements.</p>
<h5 id="examples-15"><a class="doc-anchor" href="#examples-15">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = (<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="toggle method-toggle" open><summary><section id="method.position_any" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#2999-3010">Source</a><h4 class="code-header">fn <a href="#method.position_any" class="fn">position_any</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></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 well attempt to stop processing any more.</p>
<h5 id="examples-16"><a class="doc-anchor" href="#examples-16">§</a>Examples</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">&amp;</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">&amp;</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.position_first" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3036-3047">Source</a><h4 class="code-header">fn <a href="#method.position_first" class="fn">position_first</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></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-17"><a class="doc-anchor" href="#examples-17">§</a>Examples</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">&amp;</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">&amp;</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.position_last" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3073-3084">Source</a><h4 class="code-header">fn <a href="#method.position_last" class="fn">position_last</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></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 doesnt actually matter to you, <code>position_any</code> is a better
choice.</p>
<h5 id="examples-18"><a class="doc-anchor" href="#examples-18">§</a>Examples</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">&amp;</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">&amp;</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.positions" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3116-3121">Source</a><h4 class="code-header">fn <a href="#method.positions" class="fn">positions</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a>&lt;Self, P&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></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-19"><a class="doc-anchor" href="#examples-19">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = primes.par_iter().positions(|<span class="kw-2">&amp;</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&lt;<span class="kw">_</span>&gt; = primes.par_iter().positions(|<span class="kw-2">&amp;</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="toggle method-toggle" open><summary><section id="method.rev" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3138-3140">Source</a><h4 class="code-header">fn <a href="#method.rev" class="fn">rev</a>(self) -&gt; <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Produces a new iterator with the elements of this iterator in
reverse order.</p>
<h5 id="examples-20"><a class="doc-anchor" href="#examples-20">§</a>Examples</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&lt;<span class="kw">_</span>&gt; = (<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="toggle method-toggle" open><summary><section id="method.with_min_len" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3164-3166">Source</a><h4 class="code-header">fn <a href="#method.with_min_len" class="fn">with_min_len</a>(self, min: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a>&lt;Self&gt;</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-21"><a class="doc-anchor" href="#examples-21">§</a>Examples</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 &gt;= <span class="number">1234</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.with_max_len" class="method"><a class="src rightside" href="../../src/rayon/iter/mod.rs.html#3192-3194">Source</a><h4 class="code-header">fn <a href="#method.with_max_len" class="fn">with_max_len</a>(self, max: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a>&lt;Self&gt;</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-22"><a class="doc-anchor" href="#examples-22">§</a>Examples</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 &lt;= <span class="number">1234</span>);</code></pre></div></div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-IndexedParallelIterator-for-Iter%3Cchar%3E" class="impl"><a class="src rightside" href="../../src/rayon/range.rs.html#335-365">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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a>&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3Cchar%3E-1" class="impl"><a class="src rightside" href="../../src/rayon/range_inclusive.rs.html#280-310">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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a>&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Cloned%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/cloned.rs.html#44-87">Source</a><a href="#impl-IndexedParallelIterator-for-Cloned%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T, I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;'a T</a>&gt;,
T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Copied%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/copied.rs.html#44-87">Source</a><a href="#impl-IndexedParallelIterator-for-Copied%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T, I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;'a T</a>&gt;,
T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/collections/vec_deque.rs.html#86-89">Source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E-1" class="impl"><a class="src rightside" href="../../src/rayon/option.rs.html#134-137">Source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E-2" class="impl"><a class="src rightside" href="../../src/rayon/result.rs.html#83-86">Source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C'a,+T%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/collections/binary_heap.rs.html#60-63">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'a&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-1" class="impl"><a class="src rightside" href="../../src/rayon/collections/vec_deque.rs.html#63-66">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-2" class="impl"><a class="src rightside" href="../../src/rayon/option.rs.html#106-109">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-3" class="impl"><a class="src rightside" href="../../src/rayon/result.rs.html#61-64">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C'a,+T%3E-3" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'a, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-RChunksExactMut%3C'data,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/rchunks.rs.html#335-356">Source</a><a href="#impl-IndexedParallelIterator-for-RChunksExactMut%3C'data,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'data, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'data&gt; <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>&lt;'data, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C'data,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/vec.rs.html#132-159">Source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C'data,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'data, T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'data, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A,)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Chain%3CA,+B%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/chain.rs.html#57-134">Source</a><a href="#impl-IndexedParallelIterator-for-Chain%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <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>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = A::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Zip%3CA,+B%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/zip.rs.html#43-114">Source</a><a href="#impl-IndexedParallelIterator-for-Zip%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <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>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-ZipEq%3CA,+B%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/zip_eq.rs.html#45-67">Source</a><a href="#impl-IndexedParallelIterator-for-ZipEq%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <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>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G, H&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G, H, I&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G, H, I, J&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G, H, I, J, K&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
K: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L)%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/multizip.rs.html#232-335">Source</a><a href="#impl-IndexedParallelIterator-for-MultiZip%3C(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L)%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, G, H, I, J, K, L&gt; <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>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L)</a>&gt;<div class="where">where
A: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
B: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
C: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
D: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
E: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
G: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
H: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
K: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
L: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Chunks%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/chunks.rs.html#41-88">Source</a><a href="#impl-IndexedParallelIterator-for-Chunks%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Enumerate%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/enumerate.rs.html#41-77">Source</a><a href="#impl-IndexedParallelIterator-for-Enumerate%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Intersperse%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/intersperse.rs.html#53-107">Source</a><a href="#impl-IndexedParallelIterator-for-Intersperse%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt;,</div></h3></section><section id="impl-IndexedParallelIterator-for-MaxLen%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/len.rs.html#170-213">Source</a><a href="#impl-IndexedParallelIterator-for-MaxLen%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MinLen%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/len.rs.html#40-83">Source</a><a href="#impl-IndexedParallelIterator-for-MinLen%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-PanicFuse%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/panic_fuse.rs.html#68-117">Source</a><a href="#impl-IndexedParallelIterator-for-PanicFuse%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Rev%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/rev.rs.html#40-81">Source</a><a href="#impl-IndexedParallelIterator-for-Rev%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Skip%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/skip.rs.html#45-93">Source</a><a href="#impl-IndexedParallelIterator-for-Skip%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-StepBy%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/step_by.rs.html#41-88">Source</a><a href="#impl-IndexedParallelIterator-for-StepBy%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Take%3CI%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/take.rs.html#44-84">Source</a><a href="#impl-IndexedParallelIterator-for-Take%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <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>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Inspect%3CI,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/inspect.rs.html#53-103">Source</a><a href="#impl-IndexedParallelIterator-for-Inspect%3CI,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, F&gt; <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>&lt;I, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Update%3CI,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/update.rs.html#52-102">Source</a><a href="#impl-IndexedParallelIterator-for-Update%3CI,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, F&gt; <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>&lt;I, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;mut I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Map%3CI,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/map.rs.html#53-105">Source</a><a href="#impl-IndexedParallelIterator-for-Map%3CI,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, F, R&gt; <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>&lt;I, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; R + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-FoldChunks%3CI,+ID,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/fold_chunks.rs.html#64-123">Source</a><a href="#impl-IndexedParallelIterator-for-FoldChunks%3CI,+ID,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, ID, U, F&gt; <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>&lt;I, ID, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
ID: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() -&gt; U + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(U, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; U + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-MapInit%3CI,+INIT,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/map_with.rs.html#382-439">Source</a><a href="#impl-IndexedParallelIterator-for-MapInit%3CI,+INIT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, INIT, T, F, R&gt; <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>&lt;I, INIT, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
INIT: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() -&gt; T + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a>, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; R + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Interleave%3CI,+J%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/interleave.rs.html#43-131">Source</a><a href="#impl-IndexedParallelIterator-for-Interleave%3CI,+J%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, J&gt; <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>&lt;I, J&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;,</div></h3></section><section id="impl-IndexedParallelIterator-for-InterleaveShortest%3CI,+J%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/interleave_shortest.rs.html#58-80">Source</a><a href="#impl-IndexedParallelIterator-for-InterleaveShortest%3CI,+J%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, J&gt; <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>&lt;I, J&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
J: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;,</div></h3></section><section id="impl-IndexedParallelIterator-for-MapWith%3CI,+T,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/map_with.rs.html#57-114">Source</a><a href="#impl-IndexedParallelIterator-for-MapWith%3CI,+T,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, T, F, R&gt; <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>&lt;I, T, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;mut T</a>, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; R + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-FoldChunksWith%3CI,+U,+F%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/fold_chunks_with.rs.html#64-122">Source</a><a href="#impl-IndexedParallelIterator-for-FoldChunksWith%3CI,+U,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, U, F&gt; <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>&lt;I, U, F&gt;<div class="where">where
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(U, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -&gt; U + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Either%3CL,+R%3E" class="impl"><a class="src rightside" href="../../src/rayon/par_either.rs.html#28-56">Source</a><a href="#impl-IndexedParallelIterator-for-Either%3CL,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;L, R&gt; <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>&lt;L, R&gt;<div class="where">where
L: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>,
R: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>&lt;Item = L::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>&gt;,</div></h3></section><section id="impl-IndexedParallelIterator-for-RepeatN%3CT%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/repeat.rs.html#174-195">Source</a><a href="#impl-IndexedParallelIterator-for-RepeatN%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <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>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/collections/binary_heap.rs.html#100-120">Source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E" class="impl"><a class="src rightside" href="../../src/rayon/collections/binary_heap.rs.html#30-33">Source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Drain%3C'_,+T%3E-1" class="impl"><a class="src rightside" href="../../src/rayon/collections/vec_deque.rs.html#128-149">Source</a><a href="#impl-IndexedParallelIterator-for-Drain%3C'_,+T%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-1" class="impl"><a class="src 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&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-2" class="impl"><a class="src rightside" href="../../src/rayon/option.rs.html#48-73">Source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-3" class="impl"><a class="src 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&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-ChunksExactMut%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/chunks.rs.html#337-358">Source</a><a href="#impl-IndexedParallelIterator-for-ChunksExactMut%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-ChunksMut%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/chunks.rs.html#219-240">Source</a><a href="#impl-IndexedParallelIterator-for-ChunksMut%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/mod.rs.html#967-985">Source</a><a href="#impl-IndexedParallelIterator-for-IterMut%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-RChunksMut%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/rchunks.rs.html#218-239">Source</a><a href="#impl-IndexedParallelIterator-for-RChunksMut%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-4" class="impl"><a class="src rightside" href="../../src/rayon/vec.rs.html#75-94">Source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT%3E-4" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Empty%3CT%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/empty.rs.html#66-84">Source</a><a href="#impl-IndexedParallelIterator-for-Empty%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Once%3CT%3E" class="impl"><a class="src rightside" href="../../src/rayon/iter/once.rs.html#51-70">Source</a><a href="#impl-IndexedParallelIterator-for-Once%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT,+N%3E" class="impl"><a class="src rightside" href="../../src/rayon/array.rs.html#62-85">Source</a><a href="#impl-IndexedParallelIterator-for-IntoIter%3CT,+N%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, const N: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt; <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>&lt;T, N&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Chunks%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/chunks.rs.html#38-59">Source</a><a href="#impl-IndexedParallelIterator-for-Chunks%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-ChunksExact%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/chunks.rs.html#139-160">Source</a><a href="#impl-IndexedParallelIterator-for-ChunksExact%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/mod.rs.html#826-844">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-RChunks%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/rchunks.rs.html#38-59">Source</a><a href="#impl-IndexedParallelIterator-for-RChunks%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-RChunksExact%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/rchunks.rs.html#138-159">Source</a><a href="#impl-IndexedParallelIterator-for-RChunksExact%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Windows%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/rayon/slice/mod.rs.html#892-914">Source</a><a href="#impl-IndexedParallelIterator-for-Windows%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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>&lt;'_, T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3CT%3E" class="impl"><a class="src rightside" href="../../src/rayon/range.rs.html#132-151">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: IndexedRangeInteger&gt; <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>&lt;T&gt;</h3></section><section id="impl-IndexedParallelIterator-for-Iter%3CT%3E-1" class="impl"><a class="src rightside" href="../../src/rayon/range_inclusive.rs.html#140-159">Source</a><a href="#impl-IndexedParallelIterator-for-Iter%3CT%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T: IndexedRangeInteger&gt; <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>&lt;T&gt;</h3></section></div><script src="../../trait.impl/rayon/iter/trait.IndexedParallelIterator.js" data-ignore-extern-crates="either" async></script></section></div></main></body></html>