blob: 6b889db6c0f06cd88a0cde80586c77dda457b413 [file] [log] [blame]
<!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 DEFLATE decoder, or decompressor."><meta name="keywords" content="rust, rustlang, rust-lang, DeflateDecoder"><title>DeflateDecoder in flate2::write - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc 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">&#9776;</button><a class="sidebar-logo" href="../../flate2/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../flate2/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">DeflateDecoder</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.finish">finish</a></li><li><a href="#method.get_mut">get_mut</a></li><li><a href="#method.get_ref">get_ref</a></li><li><a href="#method.new">new</a></li><li><a href="#method.reset">reset</a></li><li><a href="#method.total_in">total_in</a></li><li><a href="#method.total_out">total_out</a></li><li><a href="#method.try_finish">try_finish</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-DeflateDecoder%3CW%3E">Debug</a></li><li><a href="#impl-Read-for-DeflateDecoder%3CW%3E">Read</a></li><li><a href="#impl-Write-for-DeflateDecoder%3CW%3E">Write</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-DeflateDecoder%3CW%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-DeflateDecoder%3CW%3E">Send</a></li><li><a href="#impl-Sync-for-DeflateDecoder%3CW%3E">Sync</a></li><li><a href="#impl-Unpin-for-DeflateDecoder%3CW%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-DeflateDecoder%3CW%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-DeflateDecoder%3CW%3E">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-DeflateDecoder%3CW%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-DeflateDecoder%3CW%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-DeflateDecoder%3CW%3E">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-DeflateDecoder%3CW%3E">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-DeflateDecoder%3CW%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-DeflateDecoder%3CW%3E">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In flate2::write</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">flate2</a>::<wbr><a href="index.html">write</a>::<wbr><a class="struct" href="#">DeflateDecoder</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/flate2/deflate/write.rs.html#204-206">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct DeflateDecoder&lt;W:&nbsp;Write&gt; { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A DEFLATE decoder, or decompressor.</p>
<p>This structure implements a <a href="https://doc.rust-lang.org/std/io/trait.Read.html"><code>Write</code></a> and will emit a stream of decompressed
data when fed a stream of compressed data.</p>
<h2 id="examples"><a href="#examples">Examples</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::io::prelude::<span class="kw-2">*</span>;
<span class="kw">use </span>std::io;
<span class="kw">use </span>flate2::write::DeflateDecoder;
<span class="comment">// Uncompresses a Deflate Encoded vector of bytes and returns a string or error
// Here Vec&lt;u8&gt; implements Write
</span><span class="kw">fn </span>decode_writer(bytes: Vec&lt;u8&gt;) -&gt; io::Result&lt;String&gt; {
<span class="kw">let </span><span class="kw-2">mut </span>writer = Vec::new();
<span class="kw">let </span><span class="kw-2">mut </span>deflater = DeflateDecoder::new(writer);
deflater.write_all(<span class="kw-2">&amp;</span>bytes[..])<span class="question-mark">?</span>;
writer = deflater.finish()<span class="question-mark">?</span>;
<span class="kw">let </span>return_string = String::from_utf8(writer).expect(<span class="string">&quot;String parsing error&quot;</span>);
<span class="prelude-val">Ok</span>(return_string)
}</code></pre></div>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-DeflateDecoder%3CW%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#208-306">source</a><a href="#impl-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;Write&gt; <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#213-217">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>(w: W) -&gt; <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;</h4></section></summary><div class="docblock"><p>Creates a new decoder which will write uncompressed data to the stream.</p>
<p>When this encoder is dropped or unwrapped the final pieces of data will
be flushed.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_ref" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#220-222">source</a><h4 class="code-header">pub fn <a href="#method.get_ref" class="fnname">get_ref</a>(&amp;self) -&gt; &amp;W</h4></section></summary><div class="docblock"><p>Acquires a reference to the underlying writer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_mut" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#228-230">source</a><h4 class="code-header">pub fn <a href="#method.get_mut" class="fnname">get_mut</a>(&amp;mut self) -&gt; &amp;mut W</h4></section></summary><div class="docblock"><p>Acquires a mutable reference to the underlying writer.</p>
<p>Note that mutating the output/input state of the stream may corrupt this
object, so care must be taken when using this method.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.reset" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#247-251">source</a><h4 class="code-header">pub fn <a href="#method.reset" class="fnname">reset</a>(&amp;mut self, w: W) -&gt; Result&lt;W&gt;</h4></section></summary><div class="docblock"><p>Resets the state of this decoder entirely, swapping out the output
stream for another.</p>
<p>This function will finish encoding the current stream into the current
output stream before swapping out the two output streams.</p>
<p>This will then reset the internal state of this decoder and replace the
output stream with the one provided, returning the previous output
stream. Future data written to this decoder will be decompressed into
the output stream <code>w</code>.</p>
<h5 id="errors"><a href="#errors">Errors</a></h5>
<p>This function will perform I/O to finish the stream, and if that I/O
returns an error then that will be returned from this function.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_finish" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#268-270">source</a><h4 class="code-header">pub fn <a href="#method.try_finish" class="fnname">try_finish</a>(&amp;mut self) -&gt; Result&lt;()&gt;</h4></section></summary><div class="docblock"><p>Attempt to finish this output stream, writing out final chunks of data.</p>
<p>Note that this function can only be used once data has finished being
written to the output stream. After this function is called then further
calls to <code>write</code> may result in a panic.</p>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>Attempts to write data to this stream may result in a panic after this
function is called.</p>
<h5 id="errors-1"><a href="#errors-1">Errors</a></h5>
<p>This function will perform I/O to finish the stream, returning any
errors which happen.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.finish" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#287-290">source</a><h4 class="code-header">pub fn <a href="#method.finish" class="fnname">finish</a>(self) -&gt; Result&lt;W&gt;</h4></section></summary><div class="docblock"><p>Consumes this encoder, flushing the output stream.</p>
<p>This will flush the underlying data stream and then return the contained
writer if the flush succeeded.</p>
<p>Note that this function may not be suitable to call in a situation where
the underlying stream is an asynchronous I/O stream. To finish a stream
the <code>try_finish</code> (or <code>shutdown</code>) method should be used instead. To
re-acquire ownership of a stream it is safe to call this method after
<code>try_finish</code> or <code>shutdown</code> has returned <code>Ok</code>.</p>
<h5 id="errors-2"><a href="#errors-2">Errors</a></h5>
<p>This function will perform I/O to complete this stream, and any I/O
errors which occur will be returned from this function.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.total_in" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#297-299">source</a><h4 class="code-header">pub fn <a href="#method.total_in" class="fnname">total_in</a>(&amp;self) -&gt; u64</h4></section></summary><div class="docblock"><p>Returns the number of bytes that the decompressor has consumed for
decompression.</p>
<p>Note that this will likely be smaller than the number of bytes
successfully written to this stream due to internal buffering.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.total_out" class="method has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#303-305">source</a><h4 class="code-header">pub fn <a href="#method.total_out" class="fnname">total_out</a>(&amp;self) -&gt; u64</h4></section></summary><div class="docblock"><p>Returns the number of bytes that the decompressor has written to its
output stream.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#203">source</a><a href="#impl-Debug-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;Debug + Write&gt; Debug for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#203">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt</a>(&amp;self, f: &amp;mut Formatter&lt;'_&gt;) -&gt; Result</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Read-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#318-322">source</a><a href="#impl-Read-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;Read + Write&gt; Read for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#319-321">source</a><a href="#method.read" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read</a>(&amp;mut self, buf: &amp;mut [u8]) -&gt; Result&lt;usize&gt;</h4></section></summary><div class='docblock'>Pull some bytes from this source into the specified buffer, returning
how many bytes were read. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_vectored" class="method trait-impl has-srclink"><a href="#method.read_vectored" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_vectored</a>(&amp;mut self, bufs: &amp;mut [IoSliceMut&lt;'_&gt;]) -&gt; Result&lt;usize, Error&gt;</h4></section></summary><div class='docblock'>Like <code>read</code>, except that it reads into a slice of buffers. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_read_vectored" class="method trait-impl has-srclink"><a href="#method.is_read_vectored" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_read_vectored</a>(&amp;self) -&gt; bool</h4></section></summary><div class='docblock'>Determines if this <code>Read</code>er has an efficient <code>read_vectored</code>
implementation. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_to_end" class="method trait-impl has-srclink"><a href="#method.read_to_end" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_to_end</a>(&amp;mut self, buf: &amp;mut Vec&lt;u8, Global&gt;) -&gt; Result&lt;usize, Error&gt;</h4></section></summary><div class='docblock'>Read all bytes until EOF in this source, placing them into <code>buf</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_to_string" class="method trait-impl has-srclink"><a href="#method.read_to_string" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_to_string</a>(&amp;mut self, buf: &amp;mut String) -&gt; Result&lt;usize, Error&gt;</h4></section></summary><div class='docblock'>Read all bytes until EOF in this source, appending them to <code>buf</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_exact" class="method trait-impl has-srclink"><a href="#method.read_exact" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_exact</a>(&amp;mut self, buf: &amp;mut [u8]) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Read the exact number of bytes required to fill <code>buf</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_buf" class="method trait-impl has-srclink"><a href="#method.read_buf" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_buf</a>(&amp;mut self, buf: BorrowedCursor&lt;'_&gt;) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Pull some bytes from this source into the specified buffer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_buf_exact" class="method trait-impl has-srclink"><a href="#method.read_buf_exact" class="anchor"></a><h4 class="code-header">fn <a class="fnname">read_buf_exact</a>(&amp;mut self, cursor: BorrowedCursor&lt;'_&gt;) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Read the exact number of bytes required to fill <code>cursor</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.by_ref-1" class="method trait-impl has-srclink"><a href="#method.by_ref-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">by_ref</a>(&amp;mut self) -&gt; &amp;mut Self</h4></section></summary><div class='docblock'>Creates a “by reference” adaptor for this instance of <code>Read</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bytes" class="method trait-impl has-srclink"><a href="#method.bytes" class="anchor"></a><h4 class="code-header">fn <a class="fnname">bytes</a>(self) -&gt; Bytes&lt;Self&gt;</h4></section></summary><div class='docblock'>Transforms this <code>Read</code> instance to an [<code>Iterator</code>] over its bytes. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl has-srclink"><a href="#method.chain" class="anchor"></a><h4 class="code-header">fn <a class="fnname">chain</a>&lt;R&gt;(self, next: R) -&gt; Chain&lt;Self, R&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: Read,</span></h4></section></summary><div class='docblock'>Creates an adapter which will chain this stream with another. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.take" class="method trait-impl has-srclink"><a href="#method.take" class="anchor"></a><h4 class="code-header">fn <a class="fnname">take</a>(self, limit: u64) -&gt; Take&lt;Self&gt;</h4></section></summary><div class='docblock'>Creates an adapter which will read at most <code>limit</code> bytes from it. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Write-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#308-316">source</a><a href="#impl-Write-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;Write&gt; Write for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#309-311">source</a><a href="#method.write" class="anchor"></a><h4 class="code-header">fn <a class="fnname">write</a>(&amp;mut self, buf: &amp;[u8]) -&gt; Result&lt;usize&gt;</h4></section></summary><div class='docblock'>Write a buffer into this writer, returning how many bytes were written. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.flush" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/flate2/deflate/write.rs.html#313-315">source</a><a href="#method.flush" class="anchor"></a><h4 class="code-header">fn <a class="fnname">flush</a>(&amp;mut self) -&gt; Result&lt;()&gt;</h4></section></summary><div class='docblock'>Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_vectored" class="method trait-impl has-srclink"><a href="#method.write_vectored" class="anchor"></a><h4 class="code-header">fn <a class="fnname">write_vectored</a>(&amp;mut self, bufs: &amp;[IoSlice&lt;'_&gt;]) -&gt; Result&lt;usize, Error&gt;</h4></section></summary><div class='docblock'>Like <a href="Write::write"><code>write</code></a>, except that it writes from a slice of buffers. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_write_vectored" class="method trait-impl has-srclink"><a href="#method.is_write_vectored" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_write_vectored</a>(&amp;self) -&gt; bool</h4></section></summary><div class='docblock'>Determines if this <code>Write</code>r has an efficient <a href="Write::write_vectored"><code>write_vectored</code></a>
implementation. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_all" class="method trait-impl has-srclink"><a href="#method.write_all" class="anchor"></a><h4 class="code-header">fn <a class="fnname">write_all</a>(&amp;mut self, buf: &amp;[u8]) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Attempts to write an entire buffer into this writer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_all_vectored" class="method trait-impl has-srclink"><a href="#method.write_all_vectored" class="anchor"></a><h4 class="code-header">fn <a class="fnname">write_all_vectored</a>(&amp;mut self, bufs: &amp;mut [IoSlice&lt;'_&gt;]) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Attempts to write multiple buffers into this writer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_fmt" class="method trait-impl has-srclink"><a href="#method.write_fmt" class="anchor"></a><h4 class="code-header">fn <a class="fnname">write_fmt</a>(&amp;mut self, fmt: Arguments&lt;'_&gt;) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Writes a formatted string into this writer, returning any error
encountered. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.by_ref" class="method trait-impl has-srclink"><a href="#method.by_ref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">by_ref</a>(&amp;mut self) -&gt; &amp;mut Self</h4></section></summary><div class='docblock'>Creates a “by reference” adapter for this instance of <code>Write</code>. <a>Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W&gt; RefUnwindSafe for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: RefUnwindSafe,</span></h3></section><section id="impl-Send-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Send-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W&gt; Send for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: Send,</span></h3></section><section id="impl-Sync-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Sync-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W&gt; Sync for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: Sync,</span></h3></section><section id="impl-Unpin-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Unpin-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W&gt; Unpin for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: Unpin,</span></h3></section><section id="impl-UnwindSafe-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;W&gt; UnwindSafe for <a class="struct" href="struct.DeflateDecoder.html" title="struct flate2::write::DeflateDecoder">DeflateDecoder</a>&lt;W&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: UnwindSafe,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Any-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Any for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a class="fnname">type_id</a>(&amp;self) -&gt; 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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Borrow%3CT%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Borrow&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow</a>(&amp;self) -&gt; &amp;T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-BorrowMut%3CT%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; BorrowMut&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow_mut</a>(&amp;mut self) -&gt; &amp;mut T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-From%3CT%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; From&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-Into%3CU%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; Into&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: From&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into</a>(self) -&gt; 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]&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-TryFrom%3CU%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryFrom&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: Into&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><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="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_from</a>(value: U) -&gt; Result&lt;T, &lt;T as TryFrom&lt;U&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-DeflateDecoder%3CW%3E" class="impl has-srclink"><a href="#impl-TryInto%3CU%3E-for-DeflateDecoder%3CW%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryInto&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: TryFrom&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Error</a> = &lt;U as TryFrom&lt;T&gt;&gt;::Error</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_into</a>(self) -&gt; Result&lt;U, &lt;U as TryFrom&lt;T&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="flate2" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>