wasmer/rustdoc/textwrap/struct.Wrapper.html
2019-09-06 15:57:44 -07:00

173 lines
49 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="API documentation for the Rust `Wrapper` struct in crate `textwrap`."><meta name="keywords" content="rust, rustlang, rust-lang, Wrapper"><title>textwrap::Wrapper - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../textwrap/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Struct Wrapper</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.width">width</a><a href="#structfield.initial_indent">initial_indent</a><a href="#structfield.subsequent_indent">subsequent_indent</a><a href="#structfield.break_words">break_words</a><a href="#structfield.splitter">splitter</a></div><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.break_words">break_words</a><a href="#method.fill">fill</a><a href="#method.initial_indent">initial_indent</a><a href="#method.into_wrap_iter">into_wrap_iter</a><a href="#method.new">new</a><a href="#method.subsequent_indent">subsequent_indent</a><a href="#method.with_splitter">with_splitter</a><a href="#method.wrap">wrap</a><a href="#method.wrap_iter">wrap_iter</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><p class='location'><a href='index.html'>textwrap</a></p><script>window.sidebarCurrent = {name: 'Wrapper', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/textwrap/lib.rs.html#84-99' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>textwrap</a>::<wbr><a class="struct" href=''>Wrapper</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct Wrapper&lt;'a, S:&nbsp;<a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; {
pub width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
pub initial_indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
pub subsequent_indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
pub break_words: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
pub splitter: S,
}</pre></div><div class='docblock'><p>A Wrapper holds settings for wrapping and filling text. Use it
when the convenience <a href="fn.wrap_iter.html"><code>wrap_iter</code></a>, <a href="fn.wrap.html"><code>wrap</code></a> and <a href="fn.fill.html"><code>fill</code></a> functions
are not flexible enough.</p>
<p>The algorithm used by the <code>WrapIter</code> iterator (returned from the
<code>wrap_iter</code> method) works by doing successive partial scans over
words in the input string (where each single scan yields a single
line) so that the overall time and memory complexity is O(<em>n</em>) where
<em>n</em> is the length of the input string.</p>
</div><h2 id='fields' class='fields small-section-header'>
Fields<a href='#fields' class='anchor'></a></h2><span id="structfield.width" class="structfield small-section-header"><a href="#structfield.width" class="anchor field"></a><code id="width.v">width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class='docblock'><p>The width in columns at which the text will be wrapped.</p>
</div><span id="structfield.initial_indent" class="structfield small-section-header"><a href="#structfield.initial_indent" class="anchor field"></a><code id="initial_indent.v">initial_indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code></span><div class='docblock'><p>Indentation used for the first line of output.</p>
</div><span id="structfield.subsequent_indent" class="structfield small-section-header"><a href="#structfield.subsequent_indent" class="anchor field"></a><code id="subsequent_indent.v">subsequent_indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code></span><div class='docblock'><p>Indentation used for subsequent lines of output.</p>
</div><span id="structfield.break_words" class="structfield small-section-header"><a href="#structfield.break_words" class="anchor field"></a><code id="break_words.v">break_words: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><div class='docblock'><p>Allow long words to be broken if they cannot fit on a line.
When set to <code>false</code>, some lines may be longer than
<code>self.width</code>.</p>
</div><span id="structfield.splitter" class="structfield small-section-header"><a href="#structfield.splitter" class="anchor field"></a><code id="splitter.v">splitter: S</code></span><div class='docblock'><p>The method for splitting words. If the <code>hyphenation</code> feature
is enabled, you can use a <code>hyphenation::Standard</code> dictionary
here to get language-aware hyphenation.</p>
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, <a class="struct" href="../textwrap/struct.HyphenSplitter.html" title="struct textwrap::HyphenSplitter">HyphenSplitter</a>&gt;</code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/textwrap/lib.rs.html#101-131' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>(width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, <a class="struct" href="../textwrap/struct.HyphenSplitter.html" title="struct textwrap::HyphenSplitter">HyphenSplitter</a>&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#109-111' title='goto source code'>[src]</a></h4><div class='docblock'><p>Create a new Wrapper for wrapping at the specified width. By
default, we allow words longer than <code>width</code> to be broken. A
<a href="struct.HyphenSplitter.html"><code>HyphenSplitter</code></a> will be used by default for splitting
words. See the <a href="trait.WordSplitter.html"><code>WordSplitter</code></a> trait for other options.</p>
</div></div><h3 id='impl-1' class='impl'><code class='in-band'>impl&lt;'a, S:&nbsp;<a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a href='#impl-1' class='anchor'></a><a class='srclink' href='../src/textwrap/lib.rs.html#133-379' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.with_splitter' class="method"><code id='with_splitter.v'>pub fn <a href='#method.with_splitter' class='fnname'>with_splitter</a>(width: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, splitter: S) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#139-147' title='goto source code'>[src]</a></h4><div class='docblock'><p>Use the given <a href="trait.WordSplitter.html"><code>WordSplitter</code></a> to create a new Wrapper for
wrapping at the specified width. By default, we allow words
longer than <code>width</code> to be broken.</p>
</div><h4 id='method.initial_indent' class="method"><code id='initial_indent.v-1'>pub fn <a href='#method.initial_indent' class='fnname'>initial_indent</a>(self, indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#165-170' title='goto source code'>[src]</a></h4><div class='docblock'><p>Change <a href="#structfield.initial_indent"><code>self.initial_indent</code></a>. The initial indentation is
used on the very first line of output.</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<p>Classic paragraph indentation can be achieved by specifying an
initial indentation and wrapping each paragraph by itself:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrapper</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">15</span>).<span class="ident">initial_indent</span>(<span class="string">&quot; &quot;</span>);</pre></div>
</div><h4 id='method.subsequent_indent' class="method"><code id='subsequent_indent.v-1'>pub fn <a href='#method.subsequent_indent' class='fnname'>subsequent_indent</a>(self, indent: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#190-195' title='goto source code'>[src]</a></h4><div class='docblock'><p>Change <a href="#structfield.subsequent_indent"><code>self.subsequent_indent</code></a>. The subsequent indentation
is used on lines following the first line of output.</p>
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
<p>Combining initial and subsequent indentation lets you format a
single paragraph as a bullet list:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrapper</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">15</span>)
.<span class="ident">initial_indent</span>(<span class="string">&quot;* &quot;</span>)
.<span class="ident">subsequent_indent</span>(<span class="string">&quot; &quot;</span>);</pre></div>
</div><h4 id='method.break_words' class="method"><code id='break_words.v-1'>pub fn <a href='#method.break_words' class='fnname'>break_words</a>(self, setting: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#202-207' title='goto source code'>[src]</a></h4><div class='docblock'><p>Change <a href="#structfield.break_words"><code>self.break_words</code></a>. This controls if words longer
than <code>self.width</code> can be broken, or if they will be left
sticking out into the right margin.</p>
</div><h4 id='method.fill' class="method"><code id='fill.v'>pub fn <a href='#method.fill' class='fnname'>fill</a>(&amp;self, s: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class='srclink' href='../src/textwrap/lib.rs.html#231-244' title='goto source code'>[src]</a></h4><div class='docblock'><p>Fill a line of text at <code>self.width</code> characters. Strings are
wrapped based on their displayed width, not their size in
bytes.</p>
<p>The result is a string with newlines between each line. Use
the <code>wrap</code> method if you need access to the individual lines.</p>
<h1 id="complexities" class="section-header"><a href="#complexities">Complexities</a></h1>
<p>This method simply joins the lines produced by <code>wrap_iter</code>. As
such, it inherits the O(<em>n</em>) time and memory complexity where
<em>n</em> is the input string length.</p>
<h1 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrapper</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">15</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrapper</span>.<span class="ident">fill</span>(<span class="string">&quot;Memory safety without garbage collection.&quot;</span>),
<span class="string">&quot;Memory safety\nwithout garbage\ncollection.&quot;</span>);</pre></div>
</div><h4 id='method.wrap' class="method"><code id='wrap.v'>pub fn <a href='#method.wrap' class='fnname'>wrap</a>(&amp;self, s: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/alloc/borrow/enum.Cow.html" title="enum alloc::borrow::Cow">Cow</a>&lt;'a, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#285-287' title='goto source code'>[src]</a></h4><div class='docblock'><p>Wrap a line of text at <code>self.width</code> characters. Strings are
wrapped based on their displayed width, not their size in
bytes.</p>
<h1 id="complexities-1" class="section-header"><a href="#complexities-1">Complexities</a></h1>
<p>This method simply collects the lines produced by <code>wrap_iter</code>.
As such, it inherits the O(<em>n</em>) overall time and memory
complexity where <em>n</em> is the input string length.</p>
<h1 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrap15</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">15</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap15</span>.<span class="ident">wrap</span>(<span class="string">&quot;Concurrency without data races.&quot;</span>),
<span class="macro">vec</span><span class="macro">!</span>[<span class="string">&quot;Concurrency&quot;</span>,
<span class="string">&quot;without data&quot;</span>,
<span class="string">&quot;races.&quot;</span>]);
<span class="kw">let</span> <span class="ident">wrap20</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">20</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20</span>.<span class="ident">wrap</span>(<span class="string">&quot;Concurrency without data races.&quot;</span>),
<span class="macro">vec</span><span class="macro">!</span>[<span class="string">&quot;Concurrency without&quot;</span>,
<span class="string">&quot;data races.&quot;</span>]);</pre></div>
<p>Notice that newlines in the input are preserved. This means
that they force a line break, regardless of how long the
current line is:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrapper</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">40</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrapper</span>.<span class="ident">wrap</span>(<span class="string">&quot;First line.\nSecond line.&quot;</span>),
<span class="macro">vec</span><span class="macro">!</span>[<span class="string">&quot;First line.&quot;</span>, <span class="string">&quot;Second line.&quot;</span>]);</pre></div>
</div><h4 id='method.wrap_iter' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../textwrap/struct.WrapIter.html" title="struct textwrap::WrapIter">WrapIter</a>&lt;'w, 'a, S&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../textwrap/struct.WrapIter.html" title="struct textwrap::WrapIter">WrapIter</a>&lt;'w, 'a, S&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'w, 'a: 'w, S:&nbsp;<a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../textwrap/struct.WrapIter.html" title="struct textwrap::WrapIter">WrapIter</a>&lt;'w, 'a, S&gt;</span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/alloc/borrow/enum.Cow.html" title="enum alloc::borrow::Cow">Cow</a>&lt;'a, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;;</span></code></div></div><code id='wrap_iter.v'>pub fn <a href='#method.wrap_iter' class='fnname'>wrap_iter</a>&lt;'w&gt;(&amp;'w self, s: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="../textwrap/struct.WrapIter.html" title="struct textwrap::WrapIter">WrapIter</a>&lt;'w, 'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#331-336' title='goto source code'>[src]</a></h4><div class='docblock'><p>Lazily wrap a line of text at <code>self.width</code> characters. Strings
are wrapped based on their displayed width, not their size in
bytes.</p>
<p>The <a href="trait.WordSplitter.html"><code>WordSplitter</code></a> stored in <a href="#structfield.splitter"><code>self.splitter</code></a> is used
whenever when a word is too large to fit on the current line.
By changing the field, different hyphenation strategies can be
implemented.</p>
<h1 id="complexities-2" class="section-header"><a href="#complexities-2">Complexities</a></h1>
<p>This method returns a <a href="struct.WrapIter.html"><code>WrapIter</code></a> iterator which borrows this
<code>Wrapper</code>. The algorithm used has a linear complexity, so
getting the next line from the iterator will take O(<em>w</em>) time,
where <em>w</em> is the wrapping width. Fully processing the iterator
will take O(<em>n</em>) time for an input string of length <em>n</em>.</p>
<p>When no indentation is used, each line returned is a slice of
the input string and the memory overhead is thus constant.
Otherwise new memory is allocated for each line returned.</p>
<h1 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">borrow</span>::<span class="ident">Cow</span>;
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrap20</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">20</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wrap20_iter</span> <span class="op">=</span> <span class="ident">wrap20</span>.<span class="ident">wrap_iter</span>(<span class="string">&quot;Zero-cost abstractions.&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;Zero-cost&quot;</span>)));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;abstractions.&quot;</span>)));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">wrap25</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">25</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wrap25_iter</span> <span class="op">=</span> <span class="ident">wrap25</span>.<span class="ident">wrap_iter</span>(<span class="string">&quot;Zero-cost abstractions.&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap25_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;Zero-cost abstractions.&quot;</span>)));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap25_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">None</span>);</pre></div>
</div><h4 id='method.into_wrap_iter' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../textwrap/struct.IntoWrapIter.html" title="struct textwrap::IntoWrapIter">IntoWrapIter</a>&lt;'a, S&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../textwrap/struct.IntoWrapIter.html" title="struct textwrap::IntoWrapIter">IntoWrapIter</a>&lt;'a, S&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'a, S:&nbsp;<a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../textwrap/struct.IntoWrapIter.html" title="struct textwrap::IntoWrapIter">IntoWrapIter</a>&lt;'a, S&gt;</span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/alloc/borrow/enum.Cow.html" title="enum alloc::borrow::Cow">Cow</a>&lt;'a, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;;</span></code></div></div><code id='into_wrap_iter.v'>pub fn <a href='#method.into_wrap_iter' class='fnname'>into_wrap_iter</a>(self, s: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="../textwrap/struct.IntoWrapIter.html" title="struct textwrap::IntoWrapIter">IntoWrapIter</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#371-378' title='goto source code'>[src]</a></h4><div class='docblock'><p>Lazily wrap a line of text at <code>self.width</code> characters. Strings
are wrapped based on their displayed width, not their size in
bytes.</p>
<p>The <a href="trait.WordSplitter.html"><code>WordSplitter</code></a> stored in <a href="#structfield.splitter"><code>self.splitter</code></a> is used
whenever when a word is too large to fit on the current line.
By changing the field, different hyphenation strategies can be
implemented.</p>
<h1 id="complexities-3" class="section-header"><a href="#complexities-3">Complexities</a></h1>
<p>This method consumes the <code>Wrapper</code> and returns a
<a href="struct.IntoWrapIter.html"><code>IntoWrapIter</code></a> iterator. Fully processing the iterator has
the same O(<em>n</em>) time complexity as <a href="#method.wrap_iter"><code>wrap_iter</code></a>, where <em>n</em> is
the length of the input string.</p>
<h1 id="examples-5" class="section-header"><a href="#examples-5">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">borrow</span>::<span class="ident">Cow</span>;
<span class="kw">use</span> <span class="ident">textwrap</span>::<span class="ident">Wrapper</span>;
<span class="kw">let</span> <span class="ident">wrap20</span> <span class="op">=</span> <span class="ident">Wrapper</span>::<span class="ident">new</span>(<span class="number">20</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wrap20_iter</span> <span class="op">=</span> <span class="ident">wrap20</span>.<span class="ident">into_wrap_iter</span>(<span class="string">&quot;Zero-cost abstractions.&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;Zero-cost&quot;</span>)));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">Some</span>(<span class="ident">Cow</span>::<span class="ident">from</span>(<span class="string">&quot;abstractions.&quot;</span>)));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrap20_iter</span>.<span class="ident">next</span>(), <span class="prelude-val">None</span>);</pre></div>
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl&lt;'a, S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../src/textwrap/lib.rs.html#83' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code id='clone.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a class='srclink' href='../src/textwrap/lib.rs.html#83' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method hidden"><code id='clone_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#131-133' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl&lt;'a, S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="../textwrap/trait.WordSplitter.html" title="trait textwrap::WordSplitter">WordSplitter</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt;</code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../src/textwrap/lib.rs.html#83' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code id='fmt.v'>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../src/textwrap/lib.rs.html#83' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div></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'><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,&nbsp;</span></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,&nbsp;</span></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../textwrap/struct.Wrapper.html" title="struct textwrap::Wrapper">Wrapper</a>&lt;'a, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#543-548' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#545-547' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-ToOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-ToOwned' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Owned' class="type"><code id='Owned.t'>type <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned' class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4 id='method.to_owned' class="method hidden"><code id='to_owned.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned' class='fnname'>to_owned</a>(&amp;self) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4 id='method.clone_into' class="method hidden"><code id='clone_into.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into' class='fnname'>clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#552-554' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../";window.currentCrate = "textwrap";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>