difftastic/rustdoc/streaming_iterator/trait.DoubleEndedStreamingI...

36 lines
21 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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="A streaming iterator able to yield elements from both ends."><title>DoubleEndedStreamingIterator in streaming_iterator - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="streaming_iterator" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../streaming_iterator/index.html">streaming_iterator</a><span class="version">0.1.9</span></h2></div><h2 class="location"><a href="#">DoubleEndedStreamingIterator</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.advance_back">advance_back</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.next_back">next_back</a></li><li><a href="#method.rfold">rfold</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In crate streaming_iterator</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../streaming_iterator/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="index.html">streaming_iterator</a>::<wbr><a class="trait" href="#">DoubleEndedStreamingIterator</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/streaming_iterator/lib.rs.html#523-556">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait DoubleEndedStreamingIterator: <a class="trait" href="trait.StreamingIterator.html" title="trait streaming_iterator::StreamingIterator">StreamingIterator</a> {
// Required method
fn <a href="#tymethod.advance_back" class="fn">advance_back</a>(&amp;mut self);
// Provided methods
fn <a href="#method.next_back" class="fn">next_back</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.rfold" class="fn">rfold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, &amp;Self::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>) -&gt; B</span> { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A streaming iterator able to yield elements from both ends.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.advance_back" class="method"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#530">source</a><h4 class="code-header">fn <a href="#tymethod.advance_back" class="fn">advance_back</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Advances the iterator to the next element from the back of the iterator.</p>
<p>Double ended iterators just after the last element, so this should be called before <code>get</code>
when iterating in reverse.</p>
<p>The behavior of calling this method after the iterator has been exhausted is unspecified.</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.next_back" class="method"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#538-541">source</a><h4 class="code-header">fn <a href="#method.next_back" class="fn">next_back</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>&gt;</h4></section></summary><div class="docblock"><p>Advances the iterator and returns the next value from the back.</p>
<p>The behavior of calling this method after the iterator has been exhausted is unspecified.</p>
<p>The default implementation simply calls <code>advance_back</code> followed by <code>get</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rfold" class="method"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#545-555">source</a><h4 class="code-header">fn <a href="#method.rfold" class="fn">rfold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, &amp;Self::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class="docblock"><p>Reduces the iterators elements to a single, final value, starting from the back.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-DoubleEndedStreamingIterator-for-ConvertMut%3C'a,+I,+T%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#414-431">source</a><a href="#impl-DoubleEndedStreamingIterator-for-ConvertMut%3C'a,+I,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, I, T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.ConvertMut.html" title="struct streaming_iterator::ConvertMut">ConvertMut</a>&lt;'a, I, T&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;'a mut T</a>&gt;,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-ConvertRef%3C'a,+I,+T%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#346-363">source</a><a href="#impl-DoubleEndedStreamingIterator-for-ConvertRef%3C'a,+I,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, I, T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.ConvertRef.html" title="struct streaming_iterator::ConvertRef">ConvertRef</a>&lt;'a, I, T&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;'a T</a>&gt;,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Chain%3CA,+B%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#778-819">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Chain%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Chain.html" title="struct streaming_iterator::Chain">Chain</a>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,
B: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>&lt;Item = A::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>&gt;,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Convert%3CI%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#248-265">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Convert%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Convert.html" title="struct streaming_iterator::Convert">Convert</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a>,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Rev%3CI%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#2413-2435">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Rev%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Rev.html" title="struct streaming_iterator::Rev">Rev</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-FilterMap%3CI,+B,+F%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#1186-1221">source</a><a href="#impl-DoubleEndedStreamingIterator-for-FilterMap%3CI,+B,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, B, F&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.FilterMap.html" title="struct streaming_iterator::FilterMap">FilterMap</a>&lt;I, B, F&gt;<div class="where">where
I: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;I::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Map%3CI,+B,+F%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#1785-1804">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Map%3CI,+B,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, B, F&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Map.html" title="struct streaming_iterator::Map">Map</a>&lt;I, B, F&gt;<div class="where">where
I: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;I::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>) -&gt; B,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Filter%3CI,+F%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#1040-1072">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Filter%3CI,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, F&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Filter.html" title="struct streaming_iterator::Filter">Filter</a>&lt;I, F&gt;<div class="where">where
I: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;I::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Inspect%3CI,+F%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/lib.rs.html#1677-1700">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Inspect%3CI,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, F&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Inspect.html" title="struct streaming_iterator::Inspect">Inspect</a>&lt;I, F&gt;<div class="where">where
I: <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;I::<a class="associatedtype" href="trait.StreamingIterator.html#associatedtype.Item" title="type streaming_iterator::StreamingIterator::Item">Item</a>),</div></h3></section><section id="impl-DoubleEndedStreamingIterator-for-Empty%3CT%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#492-495">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Empty%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Empty.html" title="struct streaming_iterator::Empty">Empty</a>&lt;T&gt;</h3></section><section id="impl-DoubleEndedStreamingIterator-for-Once%3CT%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#565-570">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Once%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Once.html" title="struct streaming_iterator::Once">Once</a>&lt;T&gt;</h3></section><section id="impl-DoubleEndedStreamingIterator-for-Repeat%3CT%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#650-653">source</a><a href="#impl-DoubleEndedStreamingIterator-for-Repeat%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.Repeat.html" title="struct streaming_iterator::Repeat">Repeat</a>&lt;T&gt;</h3></section><section id="impl-DoubleEndedStreamingIterator-for-WindowsMut%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/slice.rs.html#136-146">source</a><a href="#impl-DoubleEndedStreamingIterator-for-WindowsMut%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.WindowsMut.html" title="struct streaming_iterator::WindowsMut">WindowsMut</a>&lt;'_, T&gt;</h3></section><section id="impl-DoubleEndedStreamingIterator-for-OnceWith%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/streaming_iterator/sources.rs.html#608-613">source</a><a href="#impl-DoubleEndedStreamingIterator-for-OnceWith%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; T&gt; <a class="trait" href="trait.DoubleEndedStreamingIterator.html" title="trait streaming_iterator::DoubleEndedStreamingIterator">DoubleEndedStreamingIterator</a> for <a class="struct" href="struct.OnceWith.html" title="struct streaming_iterator::OnceWith">OnceWith</a>&lt;T, F&gt;</h3></section></div><script src="../trait.impl/streaming_iterator/trait.DoubleEndedStreamingIterator.js" async></script></section></div></main></body></html>