Files
google-apis-rs/futures_core/stream/trait.Stream.html
2024-03-05 21:06:01 +01:00

90 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A stream of values produced asynchronously."><title>Stream in futures_core::stream - 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="futures_core" 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="../../futures_core/index.html">futures_core</a><span class="version">0.3.28</span></h2></div><h2 class="location"><a href="#">Stream</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Item">Item</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.poll_next">poll_next</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.size_hint">size_hint</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-Stream-for-%26mut+S">&amp;mut S</a></li><li><a href="#impl-Stream-for-AssertUnwindSafe%3CS%3E">AssertUnwindSafe&lt;S&gt;</a></li><li><a href="#impl-Stream-for-Box%3CS%3E">Box&lt;S&gt;</a></li><li><a href="#impl-Stream-for-Pin%3CP%3E">Pin&lt;P&gt;</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In futures_core::stream</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="../../futures_core/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">futures_core</a>::<wbr><a href="index.html">stream</a>::<wbr><a class="trait" href="#">Stream</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/futures_core/stream.rs.html#27-98">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 Stream {
type <a href="#associatedtype.Item" class="associatedtype">Item</a>;
// Required method
fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;;
// Provided method
fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;) { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A stream of values produced asynchronously.</p>
<p>If <code>Future&lt;Output = T&gt;</code> is an asynchronous version of <code>T</code>, then <code>Stream&lt;Item = T&gt;</code> is an asynchronous version of <code>Iterator&lt;Item = T&gt;</code>. A stream
represents a sequence of value-producing events that occur asynchronously to
the caller.</p>
<p>The trait is modeled after <code>Future</code>, but allows <code>poll_next</code> to be called
even after a value has been produced, yielding <code>None</code> once the stream has
been fully exhausted.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Item" class="method"><a class="src rightside" href="../../src/futures_core/stream.rs.html#29">source</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a></h4></section></summary><div class="docblock"><p>Values yielded by the stream.</p>
</div></details></div><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.poll_next" class="method"><a class="src rightside" href="../../src/futures_core/stream.rs.html#66">source</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;</h4></section></summary><div class="docblock"><p>Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
<code>None</code> if the stream is exhausted.</p>
<h5 id="return-value"><a href="#return-value">Return value</a></h5>
<p>There are several possible return values, each indicating a distinct
stream state:</p>
<ul>
<li>
<p><code>Poll::Pending</code> means that this streams next value is not ready
yet. Implementations will ensure that the current task will be notified
when the next value may be ready.</p>
</li>
<li>
<p><code>Poll::Ready(Some(val))</code> means that the stream has successfully
produced a value, <code>val</code>, and may produce further values on subsequent
<code>poll_next</code> calls.</p>
</li>
<li>
<p><code>Poll::Ready(None)</code> means that the stream has terminated, and
<code>poll_next</code> should not be invoked again.</p>
</li>
</ul>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>Once a stream has finished (returned <code>Ready(None)</code> from <code>poll_next</code>), calling its
<code>poll_next</code> method again may panic, block forever, or cause other kinds of
problems; the <code>Stream</code> trait places no requirements on the effects of
such a call. However, as the <code>poll_next</code> method is not marked <code>unsafe</code>,
Rusts usual rules apply: calls must never cause undefined behavior
(memory corruption, incorrect use of <code>unsafe</code> functions, or the like),
regardless of the streams state.</p>
<p>If this is difficult to guard against then the <a href="https://docs.rs/futures/0.3/futures/stream/trait.StreamExt.html#method.fuse"><code>fuse</code></a> adapter can be used
to ensure that <code>poll_next</code> always returns <code>Ready(None)</code> in subsequent
calls.</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.size_hint" class="method"><a class="src rightside" href="../../src/futures_core/stream.rs.html#95-97">source</a><h4 class="code-header">fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></summary><div class="docblock"><p>Returns the bounds on the remaining length of the stream.</p>
<p>Specifically, <code>size_hint()</code> returns a tuple where the first element
is the lower bound, and the second element is the upper bound.</p>
<p>The second half of the tuple that is returned is an <a href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option"><code>Option</code></a><code>&lt;</code><a href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html" title="primitive usize"><code>usize</code></a><code>&gt;</code>.
A <a href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a> here means that either there is no known upper bound, or the
upper bound is larger than <a href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html" title="primitive usize"><code>usize</code></a>.</p>
<h5 id="implementation-notes"><a href="#implementation-notes">Implementation notes</a></h5>
<p>It is not enforced that a stream implementation yields the declared
number of elements. A buggy stream may yield less than the lower bound
or more than the upper bound of elements.</p>
<p><code>size_hint()</code> is primarily intended to be used for optimizations such as
reserving space for the elements of the stream, but must not be
trusted to e.g., omit bounds checks in unsafe code. An incorrect
implementation of <code>size_hint()</code> should not lead to memory safety
violations.</p>
<p>That said, the implementation should provide a correct estimation,
because otherwise it would be a violation of the traits protocol.</p>
<p>The default implementation returns <code>(0, </code><a href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a><code>)</code> which is correct for any
stream.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Stream-for-Pin%3CP%3E" class="impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#112-126">source</a><a href="#impl-Stream-for-Pin%3CP%3E" class="anchor">§</a><h3 class="code-header">impl&lt;P&gt; <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> for <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;P&gt;<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
P::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a>: <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &lt;&lt;P as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a> as <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a></h4></section><section id="method.poll_next" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#119-121">source</a><a href="#method.poll_next" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;</h4></section><section id="method.size_hint-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#123-125">source</a><a href="#method.size_hint-1" class="anchor">§</a><h4 class="code-header">fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Stream-for-AssertUnwindSafe%3CS%3E" class="impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#218-228">source</a><a href="#impl-Stream-for-AssertUnwindSafe%3CS%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&gt; <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> for <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/struct.AssertUnwindSafe.html" title="struct core::panic::unwind_safe::AssertUnwindSafe">AssertUnwindSafe</a>&lt;S&gt;</h3></section></summary><div class="impl-items"><section id="associatedtype.Item-2" class="associatedtype trait-impl"><a href="#associatedtype.Item-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &lt;S as <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a></h4></section><section id="method.poll_next-1" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#221-223">source</a><a href="#method.poll_next-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;S::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;</h4></section><section id="method.size_hint-2" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#225-227">source</a><a href="#method.size_hint-2" class="anchor">§</a><h4 class="code-header">fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Stream-for-%26mut+S" class="impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#100-110">source</a><a href="#impl-Stream-for-%26mut+S" class="anchor">§</a><h3 class="code-header">impl&lt;S: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>&gt; <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> for <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut S</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Item-3" class="associatedtype trait-impl"><a href="#associatedtype.Item-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &lt;S as <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a></h4></section><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#103-105">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;</h4></section><section id="method.size_hint-3" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#107-109">source</a><a href="#method.size_hint-3" class="anchor">§</a><h4 class="code-header">fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Stream-for-Box%3CS%3E" class="impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#205-215">source</a><a href="#impl-Stream-for-Box%3CS%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>&gt; <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a> for <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;S&gt;</h3></section></summary><div class="impl-items"><section id="associatedtype.Item-4" class="associatedtype trait-impl"><a href="#associatedtype.Item-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Item" class="associatedtype">Item</a> = &lt;S as <a class="trait" href="trait.Stream.html" title="trait futures_core::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a></h4></section><section id="method.poll_next-3" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#208-210">source</a><a href="#method.poll_next-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(
self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut Self</a>&gt;,
cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;<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;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Item" title="type futures_core::stream::Stream::Item">Item</a>&gt;&gt;</h4></section><section id="method.size_hint-4" class="method trait-impl"><a class="src rightside" href="../../src/futures_core/stream.rs.html#212-214">source</a><a href="#method.size_hint-4" class="anchor">§</a><h4 class="code-header">fn <a href="#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>, <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;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt;)</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/futures_core/stream/trait.Stream.js" data-ignore-extern-crates="alloc,core" async></script></section></div></main></body></html>