617 lines
163 KiB
HTML
617 lines
163 KiB
HTML
<!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> <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>(&self) -> <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><C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(self, consumer: C) -> C::<a class="associatedtype" href="plumbing/trait.Consumer.html#associatedtype.Result" title="type rayon::iter::plumbing::Consumer::Result">Result</a>;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.with_producer" class="fn">with_producer</a><CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(
|
||
self,
|
||
callback: CB,
|
||
) -> 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) -> <a class="struct" href="struct.ExponentialBlocks.html" title="struct rayon::iter::ExponentialBlocks">ExponentialBlocks</a><Self> { ... }
|
||
<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>) -> <a class="struct" href="struct.UniformBlocks.html" title="struct rayon::iter::UniformBlocks">UniformBlocks</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.collect_into_vec" class="fn">collect_into_vec</a>(self, target: &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><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>) { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.unzip_into_vecs" class="fn">unzip_into_vecs</a><A, B>(self, left: &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><A>, right: &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><B>)
|
||
<span class="where">where Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>>,
|
||
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><Z>(self, zip_op: Z) -> <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>>
|
||
<span class="where">where Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.zip_eq" class="fn">zip_eq</a><Z>(self, zip_op: Z) -> <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>>
|
||
<span class="where">where Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.interleave" class="fn">interleave</a><I>(self, other: I) -> <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>>
|
||
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.interleave_shortest" class="fn">interleave_shortest</a><I>(
|
||
self,
|
||
other: I,
|
||
) -> <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>>
|
||
<span class="where">where I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>></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>) -> <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.fold_chunks" class="fn">fold_chunks</a><T, ID, F>(
|
||
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,
|
||
) -> <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><Self, ID, F>
|
||
<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>() -> 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>) -> 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><T, F>(
|
||
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,
|
||
) -> <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><Self, T, F>
|
||
<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>) -> 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><I>(self, other: I) -> <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><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>>,
|
||
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><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.eq" class="fn">eq</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.ne" class="fn">ne</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.lt" class="fn">lt</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.le" class="fn">le</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.gt" class="fn">gt</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.ge" class="fn">ge</a><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>></span> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.enumerate" class="fn">enumerate</a>(self) -> <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.step_by" class="fn">step_by</a>(self, step: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -> <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.skip" class="fn">skip</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -> <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.take" class="fn">take</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -> <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.position_any" class="fn">position_any</a><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>>
|
||
<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>) -> <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><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>>
|
||
<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>) -> <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><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>>
|
||
<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>) -> <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><P>(self, predicate: P) -> <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a><Self, P>
|
||
<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>) -> <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) -> <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.with_min_len" class="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>) -> <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><Self> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.with_max_len" class="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>) -> <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><Self> { ... }
|
||
</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>(&self) -> <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<<span class="kw">_</span>> = par_iter.collect();
|
||
<span class="macro">assert_eq!</span>(vec.len(), <span class="number">10</span>);</code></pre></div></div></details><details class="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><C: <a class="trait" href="plumbing/trait.Consumer.html" title="trait rayon::iter::plumbing::Consumer">Consumer</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(self, consumer: C) -> C::<a class="associatedtype" href="plumbing/trait.Consumer.html#associatedtype.Result" title="type rayon::iter::plumbing::Consumer::Result">Result</a></h4></section></summary><div class="docblock"><p>Internal method used to define the behavior of this parallel
|
||
iterator. You should not need to call this directly.</p>
|
||
<p>This method causes the iterator <code>self</code> to start producing
|
||
items and to feed them to the consumer <code>consumer</code> one by one.
|
||
It may split the consumer before doing so to create the
|
||
opportunity to produce in parallel. If a split does happen, it
|
||
will inform the consumer of the index where the split should
|
||
occur (unlike <code>ParallelIterator::drive_unindexed()</code>).</p>
|
||
<p>See the <a href="https://github.com/rayon-rs/rayon/blob/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><CB: <a class="trait" href="plumbing/trait.ProducerCallback.html" title="trait rayon::iter::plumbing::ProducerCallback">ProducerCallback</a><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>>(
|
||
self,
|
||
callback: CB,
|
||
) -> 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) -> <a class="struct" href="struct.ExponentialBlocks.html" title="struct rayon::iter::ExponentialBlocks">ExponentialBlocks</a><Self></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">&</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>) -> <a class="struct" href="struct.UniformBlocks.html" title="struct rayon::iter::UniformBlocks">UniformBlocks</a><Self></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">&mut </span>v2); v1});
|
||
<span class="macro">assert_eq!</span>(v, (<span class="number">0u32</span>..<span class="number">10_000_000</span>).collect::<Vec<u32>>());</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: &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><Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>)</h4></section></summary><div class="docblock"><p>Collects the results of the iterator into the specified
|
||
vector. The vector is always cleared before execution
|
||
begins. If possible, reusing the vector across calls can lead
|
||
to better performance since it reuses the same backing buffer.</p>
|
||
<h5 id="examples-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">&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><A, B>(self, left: &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><A>, right: &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><B>)<div class="where">where
|
||
Self: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>>,
|
||
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">&mut </span>left, <span class="kw-2">&mut </span>right);
|
||
|
||
<span class="macro">assert_eq!</span>(left, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
|
||
<span class="macro">assert_eq!</span>(right, [<span class="number">10</span>, <span class="number">11</span>, <span class="number">12</span>, <span class="number">13</span>, <span class="number">14</span>]);</code></pre></div></div></details><details class="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><Z>(self, zip_op: Z) -> <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><div class="where">where
|
||
Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,</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<<span class="kw">_</span>> = (<span class="number">1</span>..<span class="number">4</span>)
|
||
.into_par_iter()
|
||
.zip(<span class="macro">vec!</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>])
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [(<span class="number">1</span>, <span class="string">'a'</span>), (<span class="number">2</span>, <span class="string">'b'</span>), (<span class="number">3</span>, <span class="string">'c'</span>)]);</code></pre></div></div></details><details class="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><Z>(self, zip_op: Z) -> <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><Self, Z::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><div class="where">where
|
||
Z: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,</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<(<span class="kw-2">&</span>u8, <span class="kw-2">&</span>u8)> = one_iter.zip_eq(two_iter).collect();
|
||
|
||
<span class="comment">// we should never get here
|
||
</span><span class="macro">assert_eq!</span>(<span class="number">1</span>, zipped.len());</code></pre></div></div></details><details class="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><I>(self, other: I) -> <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><div class="where">where
|
||
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,</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<i32> = x.into_par_iter().interleave(y).collect();
|
||
<span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);</code></pre></div></div></details><details class="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><I>(self, other: I) -> <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><Self, I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Iter" title="type rayon::iter::IntoParallelIterator::Iter">Iter</a>><div class="where">where
|
||
I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Self::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>, Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,</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<i32> = x.into_par_iter().interleave_shortest(y).collect();
|
||
<span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">5</span>, <span class="number">2</span>, <span class="number">6</span>, <span class="number">3</span>]);</code></pre></div></div></details><details class="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>) -> <a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><Self></h4></section></summary><div class="docblock"><p>Splits an iterator up into fixed-size chunks.</p>
|
||
<p>Returns an iterator that returns <code>Vec</code>s of the given number of elements.
|
||
If the number of elements in the iterator is not divisible by <code>chunk_size</code>,
|
||
the last chunk may be shorter than <code>chunk_size</code>.</p>
|
||
<p>See also <a href="../slice/trait.ParallelSlice.html#method.par_chunks" 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<Vec<i32>> = a.into_par_iter().chunks(<span class="number">3</span>).collect();
|
||
<span class="macro">assert_eq!</span>(r, <span class="macro">vec!</span>[<span class="macro">vec!</span>[<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>], <span class="macro">vec!</span>[<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>], <span class="macro">vec!</span>[<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>], <span class="macro">vec!</span>[<span class="number">10</span>]]);</code></pre></div></div></details><details class="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><T, ID, F>(
|
||
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,
|
||
) -> <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><Self, ID, F><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>() -> 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>) -> 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::<Vec<<span class="kw">_</span>>>();
|
||
<span class="macro">assert_eq!</span>(chunk_sums, <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">7</span>, <span class="number">11</span>, <span class="number">15</span>, <span class="number">19</span>]);</code></pre></div></div></details><details class="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><T, F>(
|
||
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,
|
||
) -> <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><Self, T, F><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>) -> 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 doesn’t require the <code>init</code> type to be <code>Sync</code>, nor any other form of
|
||
added synchronization.</p>
|
||
<p><strong>Panics</strong> if <code>chunk_size</code> is 0.</p>
|
||
<h5 id="examples-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::<Vec<<span class="kw">_</span>>>();
|
||
<span class="macro">assert_eq!</span>(chunk_sums, <span class="macro">vec!</span>[<span class="number">3</span>, <span class="number">7</span>, <span class="number">11</span>, <span class="number">15</span>, <span class="number">19</span>]);</code></pre></div></div></details><details class="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><I>(self, other: I) -> <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><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>>,
|
||
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">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">3</span>, <span class="number">0</span>]), Less);
|
||
<span class="macro">assert_eq!</span>(x.par_iter().cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]), Equal);
|
||
<span class="macro">assert_eq!</span>(x.par_iter().cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>]), Greater);</code></pre></div></div></details><details class="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><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</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-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">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">3.0</span>, <span class="number">0.0</span>]), <span class="prelude-val">Some</span>(Less));
|
||
<span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>]), <span class="prelude-val">Some</span>(Equal));
|
||
<span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>]), <span class="prelude-val">Some</span>(Greater));
|
||
<span class="macro">assert_eq!</span>(x.par_iter().partial_cmp(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1.0</span>, 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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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><I>(self, other: I) -> <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><Iter: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a>>,
|
||
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><I::<a class="associatedtype" href="trait.IntoParallelIterator.html#associatedtype.Item" title="type rayon::iter::IntoParallelIterator::Item">Item</a>>,</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) -> <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><Self></h4></section></summary><div class="docblock"><p>Yields an index along with each item.</p>
|
||
<h5 id="examples-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<<span class="kw">_</span>> = chars
|
||
.into_par_iter()
|
||
.enumerate()
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [(<span class="number">0</span>, <span class="string">'a'</span>), (<span class="number">1</span>, <span class="string">'b'</span>), (<span class="number">2</span>, <span class="string">'c'</span>)]);</code></pre></div></div></details><details class="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>) -> <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that steps by the given amount</p>
|
||
<h5 id="examples-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<i32> = range
|
||
.into_par_iter()
|
||
.step_by(<span class="number">3</span>)
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [<span class="number">3</span>, <span class="number">6</span>, <span class="number">9</span>])</code></pre></div></div></details><details class="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>) -> <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that skips the first <code>n</code> elements.</p>
|
||
<h5 id="examples-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<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">100</span>)
|
||
.into_par_iter()
|
||
.skip(<span class="number">95</span>)
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [<span class="number">95</span>, <span class="number">96</span>, <span class="number">97</span>, <span class="number">98</span>, <span class="number">99</span>]);</code></pre></div></div></details><details class="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>) -> <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><Self></h4></section></summary><div class="docblock"><p>Creates an iterator that yields the first <code>n</code> elements.</p>
|
||
<h5 id="examples-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<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">100</span>)
|
||
.into_par_iter()
|
||
.take(<span class="number">5</span>)
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div></div></details><details class="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><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>><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>) -> <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 we’ll 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">&</span>x| x == <span class="number">3</span>).expect(<span class="string">"found"</span>);
|
||
<span class="macro">assert!</span>(i == <span class="number">2 </span>|| i == <span class="number">3</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(a.par_iter().position_any(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="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><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>><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>) -> <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">&</span>x| x == <span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>));
|
||
|
||
<span class="macro">assert_eq!</span>(a.par_iter().position_first(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="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><P>(self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>><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>) -> <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 doesn’t 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">&</span>x| x == <span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">3</span>));
|
||
|
||
<span class="macro">assert_eq!</span>(a.par_iter().position_last(|<span class="kw-2">&</span>x| x == <span class="number">100</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="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><P>(self, predicate: P) -> <a class="struct" href="struct.Positions.html" title="struct rayon::iter::Positions">Positions</a><Self, P><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>) -> <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<<span class="kw">_</span>> = primes.par_iter().positions(|<span class="kw-2">&</span>p| p % <span class="number">6 </span>== <span class="number">1</span>).collect();
|
||
<span class="macro">assert_eq!</span>(p1mod6, [<span class="number">3</span>, <span class="number">5</span>, <span class="number">7</span>]); <span class="comment">// primes 7, 13, and 19
|
||
|
||
// Find the positions of primes congruent to 5 modulo 6
|
||
</span><span class="kw">let </span>p5mod6: Vec<<span class="kw">_</span>> = primes.par_iter().positions(|<span class="kw-2">&</span>p| p % <span class="number">6 </span>== <span class="number">5</span>).collect();
|
||
<span class="macro">assert_eq!</span>(p5mod6, [<span class="number">2</span>, <span class="number">4</span>, <span class="number">6</span>, <span class="number">8</span>, <span class="number">9</span>]); <span class="comment">// primes 5, 11, 17, 23, and 29</span></code></pre></div></div></details><details class="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) -> <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><Self></h4></section></summary><div class="docblock"><p>Produces a new iterator with the elements of this iterator in
|
||
reverse order.</p>
|
||
<h5 id="examples-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<<span class="kw">_</span>> = (<span class="number">0</span>..<span class="number">5</span>)
|
||
.into_par_iter()
|
||
.rev()
|
||
.collect();
|
||
|
||
<span class="macro">assert_eq!</span>(result, [<span class="number">4</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">0</span>]);</code></pre></div></div></details><details class="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>) -> <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><Self></h4></section></summary><div class="docblock"><p>Sets the minimum length of iterators desired to process in each
|
||
rayon job. Rayon will not split any smaller than this length, but
|
||
of course an iterator could already be smaller to begin with.</p>
|
||
<p>Producers like <code>zip</code> and <code>interleave</code> will use greater of the two
|
||
minimums.
|
||
Chained iterators and iterators inside <code>flat_map</code> may each use
|
||
their own minimum length.</p>
|
||
<h5 id="examples-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 >= <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>) -> <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><Self></h4></section></summary><div class="docblock"><p>Sets the maximum length of iterators desired to process in each
|
||
rayon job. Rayon will try to split at least below this length,
|
||
unless that would put it below the length from <code>with_min_len()</code>.
|
||
For example, given min=10 and max=15, a length of 16 will not be
|
||
split any further.</p>
|
||
<p>Producers like <code>zip</code> and <code>interleave</code> will use lesser of the two
|
||
maximums.
|
||
Chained iterators and iterators inside <code>flat_map</code> may each use
|
||
their own maximum length.</p>
|
||
<h5 id="examples-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 <= <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><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a>></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><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a>></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<'a, T, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Cloned.html" title="struct rayon::iter::Cloned">Cloned</a><I><div class="where">where
|
||
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a>>,
|
||
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<'a, T, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Copied.html" title="struct rayon::iter::Copied">Copied</a><I><div class="where">where
|
||
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><Item = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a>>,
|
||
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<'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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.IterMut.html" title="struct rayon::collections::vec_deque::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'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<'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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.IterMut.html" title="struct rayon::option::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-IterMut%3C'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<'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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.IterMut.html" title="struct rayon::result::IterMut">IterMut</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-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<'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> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::binary_heap::<a class="struct" href="../collections/binary_heap/struct.Iter.html" title="struct rayon::collections::binary_heap::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-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<'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 class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.Iter.html" title="struct rayon::collections::vec_deque::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'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<'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 class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.Iter.html" title="struct rayon::option::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3C'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<'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 class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.Iter.html" title="struct rayon::result::Iter">Iter</a><'a, T></h3></section><section id="impl-IndexedParallelIterator-for-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<'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> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="../slice/struct.RChunksExactMut.html" title="struct rayon::slice::RChunksExactMut">RChunksExactMut</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-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<'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>> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::vec::<a class="struct" href="../vec/struct.Drain.html" title="struct rayon::vec::Drain">Drain</a><'data, T></h3></section><section id="impl-IndexedParallelIterator-for-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<A> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A,)</a>><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<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Chain.html" title="struct rayon::iter::Chain">Chain</a><A, B><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><Item = A::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</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<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B)</a>><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<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Zip.html" title="struct rayon::iter::Zip">Zip</a><A, B><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<A, B> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.ZipEq.html" title="struct rayon::iter::ZipEq">ZipEq</a><A, B><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<A, B, C> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C)</a>><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<A, B, C, D> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D)</a>><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<A, B, C, D, E> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E)</a>><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<A, B, C, D, E, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F)</a>><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<A, B, C, D, E, F, G> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G)</a>><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<A, B, C, D, E, F, G, H> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(A, B, C, D, E, F, G, H)</a>><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<A, B, C, D, E, F, G, H, I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a 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>><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<A, B, C, D, E, F, G, H, I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a 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>><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<A, B, C, D, E, F, G, H, I, J, K> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a 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>><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<A, B, C, D, E, F, G, H, I, J, K, L> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MultiZip.html" title="struct rayon::iter::MultiZip">MultiZip</a><<a 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>><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::iter::<a class="struct" href="struct.Chunks.html" title="struct rayon::iter::Chunks">Chunks</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Enumerate.html" title="struct rayon::iter::Enumerate">Enumerate</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Intersperse.html" title="struct rayon::iter::Intersperse">Intersperse</a><I><div class="where">where
|
||
I: <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a><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>>,</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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MaxLen.html" title="struct rayon::iter::MaxLen">MaxLen</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MinLen.html" title="struct rayon::iter::MinLen">MinLen</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.PanicFuse.html" title="struct rayon::iter::PanicFuse">PanicFuse</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Rev.html" title="struct rayon::iter::Rev">Rev</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Skip.html" title="struct rayon::iter::Skip">Skip</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.StepBy.html" title="struct rayon::iter::StepBy">StepBy</a><I><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<I> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Take.html" title="struct rayon::iter::Take">Take</a><I><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<I, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Inspect.html" title="struct rayon::iter::Inspect">Inspect</a><I, F><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>) + <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<I, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Update.html" title="struct rayon::iter::Update">Update</a><I, F><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>(&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<I, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Map.html" title="struct rayon::iter::Map">Map</a><I, F><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>) -> 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<I, ID, U, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.FoldChunks.html" title="struct rayon::iter::FoldChunks">FoldChunks</a><I, ID, F><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>() -> 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>) -> 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<I, INIT, T, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MapInit.html" title="struct rayon::iter::MapInit">MapInit</a><I, INIT, F><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>() -> 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">&mut T</a>, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> 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<I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Interleave.html" title="struct rayon::iter::Interleave">Interleave</a><I, J><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><Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</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<I, J> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.InterleaveShortest.html" title="struct rayon::iter::InterleaveShortest">InterleaveShortest</a><I, J><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><Item = I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</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<I, T, F, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.MapWith.html" title="struct rayon::iter::MapWith">MapWith</a><I, T, F><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">&mut T</a>, I::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>) -> 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<I, U, F> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.FoldChunksWith.html" title="struct rayon::iter::FoldChunksWith">FoldChunksWith</a><I, U, F><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>) -> 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<L, R> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="enum" href="enum.Either.html" title="enum rayon::iter::Either">Either</a><L, R><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><Item = L::<a class="associatedtype" href="trait.ParallelIterator.html#associatedtype.Item" title="type rayon::iter::ParallelIterator::Item">Item</a>>,</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<T> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.RepeatN.html" title="struct rayon::iter::RepeatN">RepeatN</a><T><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<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>> <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><'_, T></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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::binary_heap::<a class="struct" href="../collections/binary_heap/struct.IntoIter.html" title="struct rayon::collections::binary_heap::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-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<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="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><'_, T></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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::collections::vec_deque::<a class="struct" href="../collections/vec_deque/struct.IntoIter.html" title="struct rayon::collections::vec_deque::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-2" class="impl"><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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::option::<a class="struct" href="../option/struct.IntoIter.html" title="struct rayon::option::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT%3E-3" class="impl"><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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::result::<a class="struct" href="../result/struct.IntoIter.html" title="struct rayon::result::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::vec::<a class="struct" href="../vec/struct.IntoIter.html" title="struct rayon::vec::IntoIter">IntoIter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Empty%3CT%3E" class="impl"><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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Empty.html" title="struct rayon::iter::Empty">Empty</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Once%3CT%3E" class="impl"><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<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="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for <a class="struct" href="struct.Once.html" title="struct rayon::iter::Once">Once</a><T></h3></section><section id="impl-IndexedParallelIterator-for-IntoIter%3CT,+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<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>> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::array::<a class="struct" href="../array/struct.IntoIter.html" title="struct rayon::array::IntoIter">IntoIter</a><T, N></h3></section><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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<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="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><'_, T></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<T: IndexedRangeInteger> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range::<a class="struct" href="../range/struct.Iter.html" title="struct rayon::range::Iter">Iter</a><T></h3></section><section id="impl-IndexedParallelIterator-for-Iter%3CT%3E-1" class="impl"><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<T: IndexedRangeInteger> <a class="trait" href="trait.IndexedParallelIterator.html" title="trait rayon::iter::IndexedParallelIterator">IndexedParallelIterator</a> for rayon::range_inclusive::<a class="struct" href="../range_inclusive/struct.Iter.html" title="struct rayon::range_inclusive::Iter">Iter</a><T></h3></section></div><script src="../../trait.impl/rayon/iter/trait.IndexedParallelIterator.js" data-ignore-extern-crates="either" async></script></section></div></main></body></html> |