mirror of
https://github.com/esp-rs/esp-idf-hal.git
synced 2026-01-01 14:11:15 +00:00
238 lines
72 KiB
HTML
238 lines
72 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="The iterator used by `EnumSet`s."><title>EnumSetIter in enumset - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.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" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-46132b98.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="enumset" data-themes="" data-resource-suffix="" data-rustdoc-version="1.86.0-nightly (8361aef0d 2025-01-14)" data-channel="nightly" data-search-js="search-75f5ac3e.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../enumset/index.html">enumset</a><span class="version">1.1.5</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Enum<wbr>SetIter</a></h2><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-EnumSetIter%3CT%3E" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-EnumSetIter%3CT%3E" title="Debug">Debug</a></li><li><a href="#impl-DoubleEndedIterator-for-EnumSetIter%3CT%3E" title="DoubleEndedIterator">DoubleEndedIterator</a></li><li><a href="#impl-ExactSizeIterator-for-EnumSetIter%3CT%3E" title="ExactSizeIterator">ExactSizeIterator</a></li><li><a href="#impl-Iterator-for-EnumSetIter%3CT%3E" title="Iterator">Iterator</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-EnumSetIter%3CT%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-EnumSetIter%3CT%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-EnumSetIter%3CT%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-EnumSetIter%3CT%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-EnumSetIter%3CT%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-EnumSetIter%3CT%3E" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow<T>">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut<T>">BorrowMut<T></a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From<T>">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into<U>">Into<U></a></li><li><a href="#impl-IntoIterator-for-I" title="IntoIterator">IntoIterator</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom<U>">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto<U>">TryInto<U></a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate enumset</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">enumset</a></span><h1>Struct <span class="struct">EnumSetIter</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/enumset/set.rs.html#797-799">Source</a> </span></div><pre class="rust item-decl"><code>pub struct EnumSetIter<T: <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The iterator used by <a href="struct.EnumSet.html" title="struct enumset::EnumSet"><code>EnumSet</code></a>s.</p>
|
||
</div></details><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EnumSetIter%3CT%3E" class="impl"><a class="src rightside" href="../src/enumset/set.rs.html#796">Source</a><a href="#impl-Clone-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: Clone + <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> Clone for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
T::Repr: Clone,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#796">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a class="fn">clone</a>(&self) -> <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T> <a href="#" class="tooltip" data-notable-ty="EnumSetIter<T>">ⓘ</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">clone_from</a>(&mut self, source: &Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-EnumSetIter%3CT%3E" class="impl"><a class="src rightside" href="../src/enumset/set.rs.html#796">Source</a><a href="#impl-Debug-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: Debug + <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> Debug for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
T::Repr: Debug,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#796">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt</a>(&self, f: &mut Formatter<'_>) -> Result</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DoubleEndedIterator-for-EnumSetIter%3CT%3E" class="impl"><a class="src rightside" href="../src/enumset/set.rs.html#828-834">Source</a><a href="#impl-DoubleEndedIterator-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> DoubleEndedIterator for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.next_back" class="method trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#829-833">Source</a><a href="#method.next_back" class="anchor">§</a><h4 class="code-header">fn <a class="fn">next_back</a>(&mut self) -> Option<Self::Item></h4></section></summary><div class='docblock'>Removes and returns an element from the end of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.advance_back_by" class="method trait-impl"><a href="#method.advance_back_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">advance_back_by</a>(&mut self, n: usize) -> Result<(), NonZero<usize>></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_advance_by</code>)</span></div></span><div class='docblock'>Advances the iterator from the back by <code>n</code> elements. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nth_back" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.37.0">1.37.0</span><a href="#method.nth_back" class="anchor">§</a><h4 class="code-header">fn <a class="fn">nth_back</a>(&mut self, n: usize) -> Option<Self::Item></h4></section></summary><div class='docblock'>Returns the <code>n</code>th element from the end of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_rfold" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.27.0">1.27.0</span><a href="#method.try_rfold" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_rfold</a><B, F, R>(&mut self, init: B, f: F) -> R<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(B, Self::Item) -> R,
|
||
R: Try<Output = B>,</div></h4></section></summary><div class='docblock'>This is the reverse version of [<code>Iterator::try_fold()</code>]: it takes
|
||
elements starting from the back of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rfold" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.27.0">1.27.0</span><a href="#method.rfold" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rfold</a><B, F>(self, init: B, f: F) -> B<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(B, Self::Item) -> B,</div></h4></section></summary><div class='docblock'>An iterator method that reduces the iterator’s elements to a single,
|
||
final value, starting from the back. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rfind" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.27.0">1.27.0</span><a href="#method.rfind" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rfind</a><P>(&mut self, predicate: P) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Searches for an element of an iterator from the back that satisfies a predicate. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ExactSizeIterator-for-EnumSetIter%3CT%3E" class="impl"><a class="src rightside" href="../src/enumset/set.rs.html#836">Source</a><a href="#impl-ExactSizeIterator-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> ExactSizeIterator for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.len" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.len" class="anchor">§</a><h4 class="code-header">fn <a class="fn">len</a>(&self) -> usize</h4></section></summary><div class='docblock'>Returns the exact remaining length of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_empty</a>(&self) -> bool</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</span></div></span><div class='docblock'>Returns <code>true</code> if the iterator is empty. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-EnumSetIter%3CT%3E" class="impl"><a class="src rightside" href="../src/enumset/set.rs.html#817-826">Source</a><a href="#impl-Iterator-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.EnumSetType.html" title="trait enumset::EnumSetType">EnumSetType</a>> Iterator for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#818">Source</a><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Item</a> = T</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#820-822">Source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a class="fn">next</a>(&mut self) -> Option<Self::Item></h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a class="src rightside" href="../src/enumset/set.rs.html#823-825">Source</a><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a class="fn">size_hint</a>(&self) -> (usize, Option<usize>)</h4></section></summary><div class='docblock'>Returns the bounds on the remaining length of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a class="fn">next_chunk</a><const N: usize>(
|
||
&mut self,
|
||
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.count" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.count" class="anchor">§</a><h4 class="code-header">fn <a class="fn">count</a>(self) -> usize<div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Consumes the iterator, counting the number of iterations and returning it. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.last" class="anchor">§</a><h4 class="code-header">fn <a class="fn">last</a>(self) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Consumes the iterator, returning the last element. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.advance_by" class="method trait-impl"><a href="#method.advance_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">advance_by</a>(&mut self, n: usize) -> Result<(), NonZero<usize>></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_advance_by</code>)</span></div></span><div class='docblock'>Advances the iterator by <code>n</code> elements. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nth" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.nth" class="anchor">§</a><h4 class="code-header">fn <a class="fn">nth</a>(&mut self, n: usize) -> Option<Self::Item></h4></section></summary><div class='docblock'>Returns the <code>n</code>th element of the iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.step_by" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.28.0">1.28.0</span><a href="#method.step_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">step_by</a>(self, step: usize) -> StepBy<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator starting at the same point, but stepping by
|
||
the given amount at each iteration. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a class="fn">chain</a><U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter><div class="where">where
|
||
Self: Sized,
|
||
U: IntoIterator<Item = Self::Item>,</div></h4></section></summary><div class='docblock'>Takes two iterators and creates a new iterator over both in sequence. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.zip" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.zip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">zip</a><U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter><div class="where">where
|
||
Self: Sized,
|
||
U: IntoIterator,</div></h4></section></summary><div class='docblock'>‘Zips up’ two iterators into a single iterator of pairs. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.intersperse" class="method trait-impl"><a href="#method.intersperse" class="anchor">§</a><h4 class="code-header">fn <a class="fn">intersperse</a>(self, separator: Self::Item) -> Intersperse<Self><div class="where">where
|
||
Self: Sized,
|
||
Self::Item: Clone,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_intersperse</code>)</span></div></span><div class='docblock'>Creates a new iterator which places a copy of <code>separator</code> between adjacent
|
||
items of the original iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.intersperse_with" class="method trait-impl"><a href="#method.intersperse_with" class="anchor">§</a><h4 class="code-header">fn <a class="fn">intersperse_with</a><G>(self, separator: G) -> IntersperseWith<Self, G><div class="where">where
|
||
Self: Sized,
|
||
G: FnMut() -> Self::Item,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_intersperse</code>)</span></div></span><div class='docblock'>Creates a new iterator which places an item generated by <code>separator</code>
|
||
between adjacent items of the original iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map</a><B, F>(self, f: F) -> Map<Self, F><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> B,</div></h4></section></summary><div class='docblock'>Takes a closure and creates an iterator which calls that closure on each
|
||
element. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.for_each" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.for_each" class="anchor">§</a><h4 class="code-header">fn <a class="fn">for_each</a><F>(self, f: F)<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item),</div></h4></section></summary><div class='docblock'>Calls a closure on each element of an iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.filter" class="anchor">§</a><h4 class="code-header">fn <a class="fn">filter</a><P>(self, predicate: P) -> Filter<Self, P><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Creates an iterator which uses a closure to determine if an element
|
||
should be yielded. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter_map" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.filter_map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">filter_map</a><B, F>(self, f: F) -> FilterMap<Self, F><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> Option<B>,</div></h4></section></summary><div class='docblock'>Creates an iterator that both filters and maps. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.enumerate" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.enumerate" class="anchor">§</a><h4 class="code-header">fn <a class="fn">enumerate</a>(self) -> Enumerate<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator which gives the current iteration count as well as
|
||
the next value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.peekable" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.peekable" class="anchor">§</a><h4 class="code-header">fn <a class="fn">peekable</a>(self) -> Peekable<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator which can use the <a href="Peekable::peek"><code>peek</code></a> and <a href="Peekable::peek_mut"><code>peek_mut</code></a> methods
|
||
to look at the next element of the iterator without consuming it. See
|
||
their documentation for more information. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip_while" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.skip_while" class="anchor">§</a><h4 class="code-header">fn <a class="fn">skip_while</a><P>(self, predicate: P) -> SkipWhile<Self, P><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Creates an iterator that <a href="Iterator::skip"><code>skip</code></a>s elements based on a predicate. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take_while" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.take_while" class="anchor">§</a><h4 class="code-header">fn <a class="fn">take_while</a><P>(self, predicate: P) -> TakeWhile<Self, P><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Creates an iterator that yields elements based on a predicate. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_while" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.57.0">1.57.0</span><a href="#method.map_while" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_while</a><B, P>(self, predicate: P) -> MapWhile<Self, P><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(Self::Item) -> Option<B>,</div></h4></section></summary><div class='docblock'>Creates an iterator that both yields elements based on a predicate and maps. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.skip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">skip</a>(self, n: usize) -> Skip<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator that skips the first <code>n</code> elements. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a class="fn">take</a>(self, n: usize) -> Take<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator that yields the first <code>n</code> elements, or fewer
|
||
if the underlying iterator ends sooner. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.scan" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.scan" class="anchor">§</a><h4 class="code-header">fn <a class="fn">scan</a><St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&mut St, Self::Item) -> Option<B>,</div></h4></section></summary><div class='docblock'>An iterator adapter which, like <a href="Iterator::fold"><code>fold</code></a>, holds internal state, but
|
||
unlike <a href="Iterator::fold"><code>fold</code></a>, produces a new iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flat_map" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.flat_map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">flat_map</a><U, F>(self, f: F) -> FlatMap<Self, U, F><div class="where">where
|
||
Self: Sized,
|
||
U: IntoIterator,
|
||
F: FnMut(Self::Item) -> U,</div></h4></section></summary><div class='docblock'>Creates an iterator that works like map, but flattens nested structure. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flatten" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.29.0">1.29.0</span><a href="#method.flatten" class="anchor">§</a><h4 class="code-header">fn <a class="fn">flatten</a>(self) -> Flatten<Self><div class="where">where
|
||
Self: Sized,
|
||
Self::Item: IntoIterator,</div></h4></section></summary><div class='docblock'>Creates an iterator that flattens nested structure. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_windows" class="method trait-impl"><a href="#method.map_windows" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_windows</a><F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&[Self::Item; N]) -> R,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_map_windows</code>)</span></div></span><div class='docblock'>Calls the given function <code>f</code> for each contiguous window of size <code>N</code> over
|
||
<code>self</code> and returns an iterator over the outputs of <code>f</code>. Like <a href="slice::windows"><code>slice::windows()</code></a>,
|
||
the windows during mapping overlap as well. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fuse" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.fuse" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fuse</a>(self) -> Fuse<Self><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Creates an iterator which ends after the first [<code>None</code>]. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.inspect" class="anchor">§</a><h4 class="code-header">fn <a class="fn">inspect</a><F>(self, f: F) -> Inspect<Self, F><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item),</div></h4></section></summary><div class='docblock'>Does something with each element of an iterator, passing the value on. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.by_ref" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.by_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">by_ref</a>(&mut self) -> &mut Self<div class="where">where
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Borrows an iterator, rather than consuming it. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.collect" class="anchor">§</a><h4 class="code-header">fn <a class="fn">collect</a><B>(self) -> B<div class="where">where
|
||
B: FromIterator<Self::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Transforms an iterator into a collection. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect" class="method trait-impl"><a href="#method.try_collect" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_collect</a><B>(
|
||
&mut self,
|
||
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType<div class="where">where
|
||
Self: Sized,
|
||
Self::Item: Try,
|
||
<Self::Item as Try>::Residual: Residual<B>,
|
||
B: FromIterator<<Self::Item as Try>::Output>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iterator_try_collect</code>)</span></div></span><div class='docblock'>Fallibly transforms an iterator into a collection, short circuiting if
|
||
a failure is encountered. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect_into" class="method trait-impl"><a href="#method.collect_into" class="anchor">§</a><h4 class="code-header">fn <a class="fn">collect_into</a><E>(self, collection: &mut E) -> &mut E<div class="where">where
|
||
E: Extend<Self::Item>,
|
||
Self: Sized,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_collect_into</code>)</span></div></span><div class='docblock'>Collects all the items from an iterator into a collection. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partition" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.partition" class="anchor">§</a><h4 class="code-header">fn <a class="fn">partition</a><B, F>(self, f: F) -> (B, B)<div class="where">where
|
||
Self: Sized,
|
||
B: Default + Extend<Self::Item>,
|
||
F: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Consumes an iterator, creating two collections from it. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partition_in_place" class="method trait-impl"><a href="#method.partition_in_place" class="anchor">§</a><h4 class="code-header">fn <a class="fn">partition_in_place</a><'a, T, P>(self, predicate: P) -> usize<div class="where">where
|
||
T: 'a,
|
||
Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
|
||
P: FnMut(&T) -> bool,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_partition_in_place</code>)</span></div></span><div class='docblock'>Reorders the elements of this iterator <em>in-place</em> according to the given predicate,
|
||
such that all those that return <code>true</code> precede all those that return <code>false</code>.
|
||
Returns the number of <code>true</code> elements found. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_partitioned" class="method trait-impl"><a href="#method.is_partitioned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_partitioned</a><P>(self, predicate: P) -> bool<div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(Self::Item) -> bool,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_is_partitioned</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are partitioned according to the given predicate,
|
||
such that all those that return <code>true</code> precede all those that return <code>false</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_fold" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.27.0">1.27.0</span><a href="#method.try_fold" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_fold</a><B, F, R>(&mut self, init: B, f: F) -> R<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(B, Self::Item) -> R,
|
||
R: Try<Output = B>,</div></h4></section></summary><div class='docblock'>An iterator method that applies a function as long as it returns
|
||
successfully, producing a single, final value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_for_each" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.27.0">1.27.0</span><a href="#method.try_for_each" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_for_each</a><F, R>(&mut self, f: F) -> R<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> R,
|
||
R: Try<Output = ()>,</div></h4></section></summary><div class='docblock'>An iterator method that applies a fallible function to each item in the
|
||
iterator, stopping at the first error and returning that error. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fold" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.fold" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fold</a><B, F>(self, init: B, f: F) -> B<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(B, Self::Item) -> B,</div></h4></section></summary><div class='docblock'>Folds every element into an accumulator by applying an operation,
|
||
returning the final result. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reduce" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.51.0">1.51.0</span><a href="#method.reduce" class="anchor">§</a><h4 class="code-header">fn <a class="fn">reduce</a><F>(self, f: F) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item, Self::Item) -> Self::Item,</div></h4></section></summary><div class='docblock'>Reduces the elements to a single one, by repeatedly applying a reducing
|
||
operation. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_reduce" class="method trait-impl"><a href="#method.try_reduce" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_reduce</a><R>(
|
||
&mut self,
|
||
f: impl FnMut(Self::Item, Self::Item) -> R,
|
||
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType<div class="where">where
|
||
Self: Sized,
|
||
R: Try<Output = Self::Item>,
|
||
<R as Try>::Residual: Residual<Option<Self::Item>>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iterator_try_reduce</code>)</span></div></span><div class='docblock'>Reduces the elements to a single one by repeatedly applying a reducing operation. If the
|
||
closure returns a failure, the failure is propagated back to the caller immediately. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.all" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.all" class="anchor">§</a><h4 class="code-header">fn <a class="fn">all</a><F>(&mut self, f: F) -> bool<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Tests if every element of the iterator matches a predicate. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.any" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">any</a><F>(&mut self, f: F) -> bool<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Tests if any element of the iterator matches a predicate. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.find" class="anchor">§</a><h4 class="code-header">fn <a class="fn">find</a><P>(&mut self, predicate: P) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(&Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Searches for an element of an iterator that satisfies a predicate. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find_map" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.find_map" class="anchor">§</a><h4 class="code-header">fn <a class="fn">find_map</a><B, F>(&mut self, f: F) -> Option<B><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> Option<B>,</div></h4></section></summary><div class='docblock'>Applies function to the elements of iterator and returns
|
||
the first non-none result. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_find" class="method trait-impl"><a href="#method.try_find" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_find</a><R>(
|
||
&mut self,
|
||
f: impl FnMut(&Self::Item) -> R,
|
||
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType<div class="where">where
|
||
Self: Sized,
|
||
R: Try<Output = bool>,
|
||
<R as Try>::Residual: Residual<Option<Self::Item>>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>try_find</code>)</span></div></span><div class='docblock'>Applies function to the elements of iterator and returns
|
||
the first true result or the first error. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.position" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.position" class="anchor">§</a><h4 class="code-header">fn <a class="fn">position</a><P>(&mut self, predicate: P) -> Option<usize><div class="where">where
|
||
Self: Sized,
|
||
P: FnMut(Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Searches for an element in an iterator, returning its index. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rposition" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.rposition" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rposition</a><P>(&mut self, predicate: P) -> Option<usize><div class="where">where
|
||
P: FnMut(Self::Item) -> bool,
|
||
Self: Sized + ExactSizeIterator + DoubleEndedIterator,</div></h4></section></summary><div class='docblock'>Searches for an element in an iterator from the right, returning its
|
||
index. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a class="fn">max</a>(self) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
Self::Item: Ord,</div></h4></section></summary><div class='docblock'>Returns the maximum element of an iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a class="fn">min</a>(self) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
Self::Item: Ord,</div></h4></section></summary><div class='docblock'>Returns the minimum element of an iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max_by_key" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.6.0">1.6.0</span><a href="#method.max_by_key" class="anchor">§</a><h4 class="code-header">fn <a class="fn">max_by_key</a><B, F>(self, f: F) -> Option<Self::Item><div class="where">where
|
||
B: Ord,
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item) -> B,</div></h4></section></summary><div class='docblock'>Returns the element that gives the maximum value from the
|
||
specified function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max_by" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.15.0">1.15.0</span><a href="#method.max_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">max_by</a><F>(self, compare: F) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item, &Self::Item) -> Ordering,</div></h4></section></summary><div class='docblock'>Returns the element that gives the maximum value with respect to the
|
||
specified comparison function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min_by_key" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.6.0">1.6.0</span><a href="#method.min_by_key" class="anchor">§</a><h4 class="code-header">fn <a class="fn">min_by_key</a><B, F>(self, f: F) -> Option<Self::Item><div class="where">where
|
||
B: Ord,
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item) -> B,</div></h4></section></summary><div class='docblock'>Returns the element that gives the minimum value from the
|
||
specified function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min_by" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.15.0">1.15.0</span><a href="#method.min_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">min_by</a><F>(self, compare: F) -> Option<Self::Item><div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item, &Self::Item) -> Ordering,</div></h4></section></summary><div class='docblock'>Returns the element that gives the minimum value with respect to the
|
||
specified comparison function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rev" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.rev" class="anchor">§</a><h4 class="code-header">fn <a class="fn">rev</a>(self) -> Rev<Self><div class="where">where
|
||
Self: Sized + DoubleEndedIterator,</div></h4></section></summary><div class='docblock'>Reverses an iterator’s direction. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.unzip" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.unzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">unzip</a><A, B, FromA, FromB>(self) -> (FromA, FromB)<div class="where">where
|
||
FromA: Default + Extend<A>,
|
||
FromB: Default + Extend<B>,
|
||
Self: Sized + Iterator<Item = (A, B)>,</div></h4></section></summary><div class='docblock'>Converts an iterator of pairs into a pair of containers. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.copied" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.36.0">1.36.0</span><a href="#method.copied" class="anchor">§</a><h4 class="code-header">fn <a class="fn">copied</a><'a, T>(self) -> Copied<Self><div class="where">where
|
||
T: 'a + Copy,
|
||
Self: Sized + Iterator<Item = &'a T>,</div></h4></section></summary><div class='docblock'>Creates an iterator which copies all of its elements. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cloned" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cloned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cloned</a><'a, T>(self) -> Cloned<Self><div class="where">where
|
||
T: 'a + Clone,
|
||
Self: Sized + Iterator<Item = &'a T>,</div></h4></section></summary><div class='docblock'>Creates an iterator which <a href="Clone::clone"><code>clone</code></a>s all of its elements. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cycle" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cycle" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cycle</a>(self) -> Cycle<Self><div class="where">where
|
||
Self: Sized + Clone,</div></h4></section></summary><div class='docblock'>Repeats an iterator endlessly. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.array_chunks" class="method trait-impl"><a href="#method.array_chunks" class="anchor">§</a><h4 class="code-header">fn <a class="fn">array_chunks</a><const N: usize>(self) -> ArrayChunks<Self, N><div class="where">where
|
||
Self: Sized,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_array_chunks</code>)</span></div></span><div class='docblock'>Returns an iterator over <code>N</code> elements of the iterator at a time. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sum" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.11.0">1.11.0</span><a href="#method.sum" class="anchor">§</a><h4 class="code-header">fn <a class="fn">sum</a><S>(self) -> S<div class="where">where
|
||
Self: Sized,
|
||
S: Sum<Self::Item>,</div></h4></section></summary><div class='docblock'>Sums the elements of an iterator. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.product" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.11.0">1.11.0</span><a href="#method.product" class="anchor">§</a><h4 class="code-header">fn <a class="fn">product</a><P>(self) -> P<div class="where">where
|
||
Self: Sized,
|
||
P: Product<Self::Item>,</div></h4></section></summary><div class='docblock'>Iterates over the entire iterator, multiplying all the elements <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cmp</a><I>(self, other: I) -> Ordering<div class="where">where
|
||
I: IntoIterator<Item = Self::Item>,
|
||
Self::Item: Ord,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'><a href="Ord#lexicographical-comparison">Lexicographically</a> compares the elements of this [<code>Iterator</code>] with those
|
||
of another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cmp_by" class="method trait-impl"><a href="#method.cmp_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cmp_by</a><I, F>(self, other: I, cmp: F) -> Ordering<div class="where">where
|
||
Self: Sized,
|
||
I: IntoIterator,
|
||
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'><a href="Ord#lexicographical-comparison">Lexicographically</a> compares the elements of this [<code>Iterator</code>] with those
|
||
of another with respect to the specified comparison function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a class="fn">partial_cmp</a><I>(self, other: I) -> Option<Ordering><div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'><a href="Ord#lexicographical-comparison">Lexicographically</a> compares the [<code>PartialOrd</code>] elements of
|
||
this [<code>Iterator</code>] with those of another. The comparison works like short-circuit
|
||
evaluation, returning a result without comparing the remaining elements.
|
||
As soon as an order can be determined, the evaluation stops and a result is returned. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partial_cmp_by" class="method trait-impl"><a href="#method.partial_cmp_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">partial_cmp_by</a><I, F>(self, other: I, partial_cmp: F) -> Option<Ordering><div class="where">where
|
||
Self: Sized,
|
||
I: IntoIterator,
|
||
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'><a href="Ord#lexicographical-comparison">Lexicographically</a> compares the elements of this [<code>Iterator</code>] with those
|
||
of another with respect to the specified comparison function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialEq<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are equal to those of
|
||
another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.eq_by" class="method trait-impl"><a href="#method.eq_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_by</a><I, F>(self, other: I, eq: F) -> bool<div class="where">where
|
||
Self: Sized,
|
||
I: IntoIterator,
|
||
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are equal to those of
|
||
another with respect to the specified equality function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a class="fn">ne</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialEq<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are not equal to those of
|
||
another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a class="fn">lt</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are <a href="Ord#lexicographical-comparison">lexicographically</a>
|
||
less than those of another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a class="fn">le</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are <a href="Ord#lexicographical-comparison">lexicographically</a>
|
||
less or equal to those of another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a class="fn">gt</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are <a href="Ord#lexicographical-comparison">lexicographically</a>
|
||
greater than those of another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.5.0">1.5.0</span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a class="fn">ge</a><I>(self, other: I) -> bool<div class="where">where
|
||
I: IntoIterator,
|
||
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
|
||
Self: Sized,</div></h4></section></summary><div class='docblock'>Determines if the elements of this [<code>Iterator</code>] are <a href="Ord#lexicographical-comparison">lexicographically</a>
|
||
greater than or equal to those of another. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.82.0">1.82.0</span><a href="#method.is_sorted" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_sorted</a>(self) -> bool<div class="where">where
|
||
Self: Sized,
|
||
Self::Item: PartialOrd,</div></h4></section></summary><div class='docblock'>Checks if the elements of this iterator are sorted. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.82.0">1.82.0</span><a href="#method.is_sorted_by" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_sorted_by</a><F>(self, compare: F) -> bool<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(&Self::Item, &Self::Item) -> bool,</div></h4></section></summary><div class='docblock'>Checks if the elements of this iterator are sorted using the given comparator function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by_key" class="method trait-impl"><span class="since rightside" title="Stable since Rust version 1.82.0">1.82.0</span><a href="#method.is_sorted_by_key" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_sorted_by_key</a><F, K>(self, f: F) -> bool<div class="where">where
|
||
Self: Sized,
|
||
F: FnMut(Self::Item) -> K,
|
||
K: PartialOrd,</div></h4></section></summary><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
|
||
function. <a>Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-Freeze-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> Freeze for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: Freeze,</div></h3></section><section id="impl-RefUnwindSafe-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> RefUnwindSafe for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: RefUnwindSafe,</div></h3></section><section id="impl-Send-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-Send-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> Send for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: Send,</div></h3></section><section id="impl-Sync-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-Sync-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> Sync for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: Sync,</div></h3></section><section id="impl-Unpin-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-Unpin-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> Unpin for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: Unpin,</div></h3></section><section id="impl-UnwindSafe-for-EnumSetIter%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-EnumSetIter%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> UnwindSafe for <a class="struct" href="struct.EnumSetIter.html" title="struct enumset::EnumSetIter">EnumSetIter</a><T><div class="where">where
|
||
<<T as EnumSetTypePrivate>::Repr as EnumSetTypeRepr>::Iter: UnwindSafe,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Any for T<div class="where">where
|
||
T: 'static + ?Sized,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">type_id</a>(&self) -> TypeId</h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Borrow<T> for T<div class="where">where
|
||
T: ?Sized,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">borrow</a>(&self) -> &T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> BorrowMut<T> for T<div class="where">where
|
||
T: ?Sized,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">borrow_mut</a>(&mut self) -> &mut T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl<T> CloneToUninit for T<div class="where">where
|
||
T: Clone,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">clone_to_uninit</a>(&self, dst: *mut u8)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> From<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> Into<U> for T<div class="where">where
|
||
U: From<T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||
<p>That is, this conversion is whatever the implementation of
|
||
<code>[From]<T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoIterator-for-I" class="impl"><a href="#impl-IntoIterator-for-I" class="anchor">§</a><h3 class="code-header">impl<I> IntoIterator for I<div class="where">where
|
||
I: Iterator,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Item</a> = <I as Iterator>::Item</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">IntoIter</a> = I</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl"><a href="#method.into_iter" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_iter</a>(self) -> I</h4></section></summary><div class='docblock'>Creates an iterator from a value. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> TryFrom<U> for T<div class="where">where
|
||
U: Into<T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Error</a> = Infallible</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_from</a>(value: U) -> Result<T, <T as TryFrom<U>>::Error></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> TryInto<U> for T<div class="where">where
|
||
U: TryFrom<T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Error</a> = <U as TryFrom<T>>::Error</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_into</a>(self) -> Result<U, <U as TryFrom<T>>::Error></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div><script type="text/json" id="notable-traits-data">{"EnumSetIter<T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.EnumSetIter.html\" title=\"struct enumset::EnumSetIter\">EnumSetIter</a><T></code></h3><pre><code><div class=\"where\">impl<T: <a class=\"trait\" href=\"trait.EnumSetType.html\" title=\"trait enumset::EnumSetType\">EnumSetType</a>> Iterator for <a class=\"struct\" href=\"struct.EnumSetIter.html\" title=\"struct enumset::EnumSetIter\">EnumSetIter</a><T></div><div class=\"where\"> type <a class=\"associatedtype\">Item</a> = T;</div>"}</script></section></div></main></body></html> |