| <!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="`ParallelExtend` extends an existing collection with items from a `ParallelIterator`."><meta name="keywords" content="rust, rustlang, rust-lang, ParallelExtend"><title>ParallelExtend in rayon::iter - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../../rayon/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../rayon/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">ParallelExtend</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.par_extend">par_extend</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-ParallelExtend%3C()%3E-for-()">()</a></li><li><a href="#impl-ParallelExtend%3CEither%3CL%2C%20R%3E%3E-for-(A%2C%20B)">(A, B)</a></li><li><a href="#impl-ParallelExtend%3C(A%2C%20B)%3E-for-(FromA%2C%20FromB)">(FromA, FromB)</a></li><li><a href="#impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-BTreeMap%3CK%2C%20V%3E">BTreeMap<K, V></a></li><li><a href="#impl-ParallelExtend%3C(K%2C%20V)%3E-for-BTreeMap%3CK%2C%20V%3E">BTreeMap<K, V></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-BTreeSet%3CT%3E">BTreeSet<T></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-BTreeSet%3CT%3E">BTreeSet<T></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-BinaryHeap%3CT%3E">BinaryHeap<T></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-BinaryHeap%3CT%3E">BinaryHeap<T></a></li><li><a href="#impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E">HashMap<K, V, S></a></li><li><a href="#impl-ParallelExtend%3C(K%2C%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E">HashMap<K, V, S></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-HashSet%3CT%2C%20S%3E">HashSet<T, S></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-HashSet%3CT%2C%20S%3E">HashSet<T, S></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-LinkedList%3CT%3E">LinkedList<T></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-LinkedList%3CT%3E">LinkedList<T></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20char%3E-for-String">String</a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20str%3E-for-String">String</a></li><li><a href="#impl-ParallelExtend%3CCow%3C%27a%2C%20str%3E%3E-for-String">String</a></li><li><a href="#impl-ParallelExtend%3CString%3E-for-String">String</a></li><li><a href="#impl-ParallelExtend%3Cchar%3E-for-String">String</a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-Vec%3CT%3E">Vec<T></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-Vec%3CT%3E">Vec<T></a></li><li><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-VecDeque%3CT%3E">VecDeque<T></a></li><li><a href="#impl-ParallelExtend%3CT%3E-for-VecDeque%3CT%3E">VecDeque<T></a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In rayon::iter</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">rayon</a>::<wbr><a href="index.html">iter</a>::<wbr><a class="trait" href="#">ParallelExtend</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/rayon/iter/mod.rs.html#3238-3258">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait ParallelExtend<T><span class="where fmt-newline">where<br> T: Send,</span>{ |
| fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<br> <span class="where">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T></span>; |
| }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>ParallelExtend</code> extends an existing collection with items from a <a href="trait.ParallelIterator.html"><code>ParallelIterator</code></a>.</p> |
| <h2 id="examples"><a href="#examples">Examples</a></h2> |
| <p>Implementing <code>ParallelExtend</code> for your type:</p> |
| |
| <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::mem; |
| |
| <span class="kw">struct </span>BlackHole { |
| mass: usize, |
| } |
| |
| <span class="kw">impl</span><T: Send> ParallelExtend<T> <span class="kw">for </span>BlackHole { |
| <span class="kw">fn </span>par_extend<I>(<span class="kw-2">&mut </span><span class="self">self</span>, par_iter: I) |
| <span class="kw">where </span>I: IntoParallelIterator<Item = T> |
| { |
| <span class="kw">let </span>par_iter = par_iter.into_par_iter(); |
| <span class="self">self</span>.mass += par_iter.count() * mem::size_of::<T>(); |
| } |
| } |
| |
| <span class="kw">let </span><span class="kw-2">mut </span>bh = BlackHole { mass: <span class="number">0 </span>}; |
| bh.par_extend(<span class="number">0i32</span>..<span class="number">1000</span>); |
| <span class="macro">assert_eq!</span>(bh.mass, <span class="number">4000</span>); |
| bh.par_extend(<span class="number">0i64</span>..<span class="number">10</span>); |
| <span class="macro">assert_eq!</span>(bh.mass, <span class="number">4080</span>);</code></pre></div> |
| </div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.par_extend" class="method has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/mod.rs.html#3255-3257">source</a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></summary><div class="docblock"><p>Extends an instance of the collection with the elements drawn |
| from the parallel iterator <code>par_iter</code>.</p> |
| <h5 id="examples-1"><a href="#examples-1">Examples</a></h5> |
| <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rayon::prelude::<span class="kw-2">*</span>; |
| |
| <span class="kw">let </span><span class="kw-2">mut </span>vec = <span class="macro">vec!</span>[]; |
| vec.par_extend(<span class="number">0</span>..<span class="number">5</span>); |
| vec.par_extend((<span class="number">0</span>..<span class="number">5</span>).into_par_iter().map(|i| i * i)); |
| <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>, <span class="number">0</span>, <span class="number">1</span>, <span class="number">4</span>, <span class="number">9</span>, <span class="number">16</span>]);</code></pre></div> |
| </div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-BinaryHeap%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#101-111">source</a><a href="#impl-ParallelExtend%3CT%3E-for-BinaryHeap%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for BinaryHeap<T><span class="where fmt-newline">where<br> T: Ord + Send,</span></h3></section></summary><div class="docblock"><p>Extends a binary heap with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#105-110">source</a><a href="#method.par_extend" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-BinaryHeap%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#114-124">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-BinaryHeap%3CT%3E" class="anchor"></a><h3 class="code-header">impl<'a, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for BinaryHeap<T><span class="where fmt-newline">where<br> T: 'a + Copy + Ord + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a binary heap with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#118-123">source</a><a href="#method.par_extend-1" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C(K%2C%20V)%3E-for-BTreeMap%3CK%2C%20V%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#136-147">source</a><a href="#impl-ParallelExtend%3C(K%2C%20V)%3E-for-BTreeMap%3CK%2C%20V%3E" class="anchor"></a><h3 class="code-header">impl<K, V> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><(K, V)> for BTreeMap<K, V><span class="where fmt-newline">where<br> K: Ord + Send,<br> V: Send,</span></h3></section></summary><div class="docblock"><p>Extends a B-tree map with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#141-146">source</a><a href="#method.par_extend-2" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = (K, V)>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-BTreeMap%3CK%2C%20V%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#150-161">source</a><a href="#impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-BTreeMap%3CK%2C%20V%3E" class="anchor"></a><h3 class="code-header">impl<'a, K: 'a, V: 'a> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><(&'a K, &'a V)> for BTreeMap<K, V><span class="where fmt-newline">where<br> K: Copy + Ord + Send + Sync,<br> V: Copy + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a B-tree map with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#155-160">source</a><a href="#method.par_extend-3" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = (&'a K, &'a V)>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-BTreeSet%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#173-183">source</a><a href="#impl-ParallelExtend%3CT%3E-for-BTreeSet%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for BTreeSet<T><span class="where fmt-newline">where<br> T: Ord + Send,</span></h3></section></summary><div class="docblock"><p>Extends a B-tree set with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#177-182">source</a><a href="#method.par_extend-4" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-BTreeSet%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#186-196">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-BTreeSet%3CT%3E" class="anchor"></a><h3 class="code-header">impl<'a, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for BTreeSet<T><span class="where fmt-newline">where<br> T: 'a + Copy + Ord + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a B-tree set with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#190-195">source</a><a href="#method.par_extend-5" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C(K%2C%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#211-224">source</a><a href="#impl-ParallelExtend%3C(K%2C%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E" class="anchor"></a><h3 class="code-header">impl<K, V, S> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><(K, V)> for HashMap<K, V, S><span class="where fmt-newline">where<br> K: Eq + Hash + Send,<br> V: Send,<br> S: BuildHasher + Send,</span></h3></section></summary><div class="docblock"><p>Extends a hash map with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#217-223">source</a><a href="#method.par_extend-6" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = (K, V)>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#227-239">source</a><a href="#impl-ParallelExtend%3C(%26%27a%20K%2C%20%26%27a%20V)%3E-for-HashMap%3CK%2C%20V%2C%20S%3E" class="anchor"></a><h3 class="code-header">impl<'a, K: 'a, V: 'a, S> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><(&'a K, &'a V)> for HashMap<K, V, S><span class="where fmt-newline">where<br> K: Copy + Eq + Hash + Send + Sync,<br> V: Copy + Send + Sync,<br> S: BuildHasher + Send,</span></h3></section></summary><div class="docblock"><p>Extends a hash map with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#233-238">source</a><a href="#method.par_extend-7" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = (&'a K, &'a V)>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-HashSet%3CT%2C%20S%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#254-265">source</a><a href="#impl-ParallelExtend%3CT%3E-for-HashSet%3CT%2C%20S%3E" class="anchor"></a><h3 class="code-header">impl<T, S> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for HashSet<T, S><span class="where fmt-newline">where<br> T: Eq + Hash + Send,<br> S: BuildHasher + Send,</span></h3></section></summary><div class="docblock"><p>Extends a hash set with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#259-264">source</a><a href="#method.par_extend-8" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-HashSet%3CT%2C%20S%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#268-279">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-HashSet%3CT%2C%20S%3E" class="anchor"></a><h3 class="code-header">impl<'a, T, S> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for HashSet<T, S><span class="where fmt-newline">where<br> T: 'a + Copy + Eq + Hash + Send + Sync,<br> S: BuildHasher + Send,</span></h3></section></summary><div class="docblock"><p>Extends a hash set with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#273-278">source</a><a href="#method.par_extend-9" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-LinkedList%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#282-293">source</a><a href="#impl-ParallelExtend%3CT%3E-for-LinkedList%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for LinkedList<T><span class="where fmt-newline">where<br> T: Send,</span></h3></section></summary><div class="docblock"><p>Extends a linked list with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#286-292">source</a><a href="#method.par_extend-10" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-LinkedList%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#296-306">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-LinkedList%3CT%3E" class="anchor"></a><h3 class="code-header">impl<'a, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for LinkedList<T><span class="where fmt-newline">where<br> T: 'a + Copy + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a linked list with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#300-305">source</a><a href="#method.par_extend-11" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3Cchar%3E-for-String" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#384-394">source</a><a href="#impl-ParallelExtend%3Cchar%3E-for-String" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><char> for String</h3></section></summary><div class="docblock"><p>Extends a string with characters from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#385-393">source</a><a href="#method.par_extend-12" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = char>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20char%3E-for-String" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#397-404">source</a><a href="#impl-ParallelExtend%3C%26%27a%20char%3E-for-String" class="anchor"></a><h3 class="code-header">impl<'a> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a char> for String</h3></section></summary><div class="docblock"><p>Extends a string with copied characters from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#398-403">source</a><a href="#method.par_extend-13" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a char>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20str%3E-for-String" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#484-491">source</a><a href="#impl-ParallelExtend%3C%26%27a%20str%3E-for-String" class="anchor"></a><h3 class="code-header">impl<'a> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a str> for String</h3></section></summary><div class="docblock"><p>Extends a string with string slices from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#485-490">source</a><a href="#method.par_extend-14" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a str>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CString%3E-for-String" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#494-501">source</a><a href="#impl-ParallelExtend%3CString%3E-for-String" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><String> for String</h3></section></summary><div class="docblock"><p>Extends a string with strings from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#495-500">source</a><a href="#method.par_extend-15" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = String>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CCow%3C%27a%2C%20str%3E%3E-for-String" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#504-511">source</a><a href="#impl-ParallelExtend%3CCow%3C%27a%2C%20str%3E%3E-for-String" class="anchor"></a><h3 class="code-header">impl<'a> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><Cow<'a, str>> for String</h3></section></summary><div class="docblock"><p>Extends a string with string slices from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#505-510">source</a><a href="#method.par_extend-16" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = Cow<'a, str>>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-VecDeque%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#524-534">source</a><a href="#impl-ParallelExtend%3CT%3E-for-VecDeque%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for VecDeque<T><span class="where fmt-newline">where<br> T: Send,</span></h3></section></summary><div class="docblock"><p>Extends a deque with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-17" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#528-533">source</a><a href="#method.par_extend-17" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-VecDeque%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#537-547">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-VecDeque%3CT%3E" class="anchor"></a><h3 class="code-header">impl<'a, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for VecDeque<T><span class="where fmt-newline">where<br> T: 'a + Copy + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a deque with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-18" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#541-546">source</a><a href="#method.par_extend-18" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CT%3E-for-Vec%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#557-581">source</a><a href="#impl-ParallelExtend%3CT%3E-for-Vec%3CT%3E" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for Vec<T><span class="where fmt-newline">where<br> T: Send,</span></h3></section></summary><div class="docblock"><p>Extends a vector with items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-19" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#561-580">source</a><a href="#method.par_extend-19" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C%26%27a%20T%3E-for-Vec%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#584-594">source</a><a href="#impl-ParallelExtend%3C%26%27a%20T%3E-for-Vec%3CT%3E" class="anchor"></a><h3 class="code-header">impl<'a, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><&'a T> for Vec<T><span class="where fmt-newline">where<br> T: 'a + Copy + Send + Sync,</span></h3></section></summary><div class="docblock"><p>Extends a vector with copied items from a parallel iterator.</p> |
| </div><div class="impl-items"><section id="method.par_extend-20" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#588-593">source</a><a href="#method.par_extend-20" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = &'a T>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C()%3E-for-()" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#597-604">source</a><a href="#impl-ParallelExtend%3C()%3E-for-()" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><()> for ()</h3></section></summary><div class="docblock"><p>Collapses all unit items from a parallel iterator into one.</p> |
| </div><div class="impl-items"><section id="method.par_extend-21" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/extend.rs.html#598-603">source</a><a href="#method.par_extend-21" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, par_iter: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = ()>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3C(A%2C%20B)%3E-for-(FromA%2C%20FromB)" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/unzip.rs.html#413-426">source</a><a href="#impl-ParallelExtend%3C(A%2C%20B)%3E-for-(FromA%2C%20FromB)" class="anchor"></a><h3 class="code-header">impl<A, B, FromA, FromB> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><(A, B)> for (FromA, FromB)<span class="where fmt-newline">where<br> A: Send,<br> B: Send,<br> FromA: Send + <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><A>,<br> FromB: Send + <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><B>,</span></h3></section></summary><div class="impl-items"><section id="method.par_extend-22" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/unzip.rs.html#420-425">source</a><a href="#method.par_extend-22" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, pi: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = (A, B)>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ParallelExtend%3CEither%3CL%2C%20R%3E%3E-for-(A%2C%20B)" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/unzip.rs.html#428-441">source</a><a href="#impl-ParallelExtend%3CEither%3CL%2C%20R%3E%3E-for-(A%2C%20B)" class="anchor"></a><h3 class="code-header">impl<L, R, A, B> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><<a class="enum" href="enum.Either.html" title="enum rayon::iter::Either">Either</a><L, R>> for (A, B)<span class="where fmt-newline">where<br> L: Send,<br> R: Send,<br> A: Send + <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><L>,<br> B: Send + <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><R>,</span></h3></section></summary><div class="impl-items"><section id="method.par_extend-23" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rayon/iter/unzip.rs.html#435-440">source</a><a href="#method.par_extend-23" class="anchor"></a><h4 class="code-header">fn <a href="#tymethod.par_extend" class="fnname">par_extend</a><I>(&mut self, pi: I)<span class="where fmt-newline">where<br> I: <a class="trait" href="trait.IntoParallelIterator.html" title="trait rayon::iter::IntoParallelIterator">IntoParallelIterator</a><Item = <a class="enum" href="enum.Either.html" title="enum rayon::iter::Either">Either</a><L, R>>,</span></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div id="implementors-list"><section id="impl-ParallelExtend%3CT%3E-for-Either%3CL%2C%20R%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rayon/par_either.rs.html#59-74">source</a><a href="#impl-ParallelExtend%3CT%3E-for-Either%3CL%2C%20R%3E" class="anchor"></a><h3 class="code-header">impl<L, R, T> <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T> for <a class="enum" href="enum.Either.html" title="enum rayon::iter::Either">Either</a><L, R><span class="where fmt-newline">where<br> L: <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T>,<br> R: <a class="trait" href="trait.ParallelExtend.html" title="trait rayon::iter::ParallelExtend">ParallelExtend</a><T>,<br> T: Send,</span></h3></section><div class="docblock"><p><code>Either<L, R></code> can be extended if both <code>L</code> and <code>R</code> are parallel extendable.</p> |
| </div></div><script src="../../implementors/rayon/iter/trait.ParallelExtend.js" data-ignore-extern-crates="core,std,alloc,either" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="rayon" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html> |