edlang/regex_automata/util/primitives/struct.SmallIndex.html

104 lines
79 KiB
HTML
Raw Normal View History

<!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 type that represents a “small” index."><title>SmallIndex in regex_automata::util::primitives - Rust</title><script> if (window.location.protocol !== "file:") document.write(`<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">`)</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e935ef01ae1c1829.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="regex_automata" data-themes="" data-resource-suffix="" data-rustdoc-version="1.78.0 (9b00956e5 2024-04-29)" data-channel="1.78.0" data-search-js="search-42d8da7a6b9792c2.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-4c98445ec4002617.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-12cf3b4f4f9dc36d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-04d5337699b92874.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 struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../regex_automata/index.html">regex_automata</a><span class="version">0.4.6</span></h2></div><h2 class="location"><a href="#">SmallIndex</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.LIMIT">LIMIT</a></li><li><a href="#associatedconstant.MAX">MAX</a></li><li><a href="#associatedconstant.SIZE">SIZE</a></li><li><a href="#associatedconstant.ZERO">ZERO</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.as_i32">as_i32</a></li><li><a href="#method.as_u32">as_u32</a></li><li><a href="#method.as_u64">as_u64</a></li><li><a href="#method.as_usize">as_usize</a></li><li><a href="#method.from_ne_bytes">from_ne_bytes</a></li><li><a href="#method.from_ne_bytes_unchecked">from_ne_bytes_unchecked</a></li><li><a href="#method.must">must</a></li><li><a href="#method.new">new</a></li><li><a href="#method.new_unchecked">new_unchecked</a></li><li><a href="#method.one_more">one_more</a></li><li><a href="#method.to_ne_bytes">to_ne_bytes</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-SmallIndex">Clone</a></li><li><a href="#impl-Copy-for-SmallIndex">Copy</a></li><li><a href="#impl-Debug-for-SmallIndex">Debug</a></li><li><a href="#impl-Default-for-SmallIndex">Default</a></li><li><a href="#impl-Eq-for-SmallIndex">Eq</a></li><li><a href="#impl-From%3Cu8%3E-for-SmallIndex">From&lt;u8&gt;</a></li><li><a h
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../regex_automata/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>Struct <a href="../../index.html">regex_automata</a>::<wbr><a href="../index.html">util</a>::<wbr><a href="index.html">primitives</a>::<wbr><a class="struct" href="#">SmallIndex</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/regex_automata/util/primitives.rs.html#144">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SmallIndex(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A type that represents a “small” index.</p>
<p>The main idea of this type is to provide something that can index memory,
but uses less memory than <code>usize</code> on 64-bit systems. Specifically, its
representation is always a <code>u32</code> and has <code>repr(transparent)</code> enabled. (So
it is safe to transmute between a <code>u32</code> and a <code>SmallIndex</code>.)</p>
<p>A small index is typically useful in cases where there is no practical way
that the index will overflow a 32-bit integer. A good example of this is
an NFA state. If you could somehow build an NFA with <code>2^30</code> states, its
memory usage would be exorbitant and its runtime execution would be so
slow as to be completely worthless. Therefore, this crate generally deems
it acceptable to return an error if it would otherwise build an NFA that
requires a slice longer than what a 32-bit integer can index. In exchange,
we can use 32-bit indices instead of 64-bit indices in various places.</p>
<p>This type ensures this by providing a constructor that will return an error
if its argument cannot fit into the type. This makes it much easier to
handle these sorts of boundary cases that are otherwise extremely subtle.</p>
<p>On all targets, this type guarantees that its value will fit in a <code>u32</code>,
<code>i32</code>, <code>usize</code> and an <code>isize</code>. This means that on 16-bit targets, for
example, this types maximum value will never overflow an <code>isize</code>,
which means it will never overflow a <code>i16</code> even though its internal
representation is still a <code>u32</code>.</p>
<p>The purpose for making the type fit into even signed integer types like
<code>isize</code> is to guarantee that the difference between any two small indices
is itself also a small index. This is useful in certain contexts, e.g.,
for delta encoding.</p>
<h2 id="other-types"><a class="doc-anchor" href="#other-types">§</a>Other types</h2>
<p>The following types wrap <code>SmallIndex</code> to provide a more focused use case:</p>
<ul>
<li><a href="../../struct.PatternID.html" title="struct regex_automata::PatternID"><code>PatternID</code></a> is for representing the identifiers of patterns.</li>
<li><a href="struct.StateID.html" title="struct regex_automata::util::primitives::StateID"><code>StateID</code></a> is for representing the identifiers of states in finite
automata. It is used for both NFAs and DFAs.</li>
</ul>
<h2 id="representation"><a class="doc-anchor" href="#representation">§</a>Representation</h2>
<p>This type is always represented internally by a <code>u32</code> and is marked as
<code>repr(transparent)</code>. Thus, this type always has the same representation as
a <code>u32</code>. It is thus safe to transmute between a <code>u32</code> and a <code>SmallIndex</code>.</p>
<h2 id="indexing"><a class="doc-anchor" href="#indexing">§</a>Indexing</h2>
<p>For convenience, callers may use a <code>SmallIndex</code> to index slices.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>While a <code>SmallIndex</code> is meant to guarantee that its value fits into <code>usize</code>
without using as much space as a <code>usize</code> on all targets, callers must
not rely on this property for safety. Callers may choose to rely on this
property for correctness however. For example, creating a <code>SmallIndex</code> with
an invalid value can be done in entirely safe code. This may in turn result
in panics or silent logical errors.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#146-270">source</a><a href="#impl-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.MAX" class="associatedconstant"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#149-151">source</a><h4 class="code-header">pub const <a href="#associatedconstant.MAX" class="constant">MAX</a>: <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a> = _</h4></section></summary><div class="docblock"><p>The maximum index value.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.LIMIT" class="associatedconstant"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#159">source</a><h4 class="code-header">pub const <a href="#associatedconstant.LIMIT" class="constant">LIMIT</a>: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a> = 2_147_483_647usize</h4></section></summary><div class="docblock"><p>The total number of values that can be represented as a small index.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.ZERO" class="associatedconstant"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#162">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ZERO" class="constant">ZERO</a>: <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a> = _</h4></section></summary><div class="docblock"><p>The zero index value.</p>
</div></details><details class="toggle" open><summary><section id="associatedconstant.SIZE" class="associatedconstant"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#165">source</a><h4 class="code-header">pub const <a href="#associatedconstant.SIZE" class="constant">SIZE</a>: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a> = 4usize</h4></section></summary><div class="docblock"><p>The number of bytes that a single small index uses in memory.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#172-174">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>, <a class="struct" href="struct.SmallIndexError.html" title="struct regex_automata::util::primitives::SmallIndexError">SmallIndexError</a>&gt;</h4></section></summary><div class="docblock"><p>Create a new small index.</p>
<p>If the given index exceeds <a href="struct.SmallIndex.html#associatedconstant.MAX" title="associated constant regex_automata::util::primitives::SmallIndex::MAX"><code>SmallIndex::MAX</code></a>, then this returns
an error.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_unchecked" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#187-190">source</a><h4 class="code-header">pub const fn <a href="#method.new_unchecked" class="fn">new_unchecked</a>(index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h4></section></summary><div class="docblock"><p>Create a new small index without checking whether the given value
exceeds <a href="struct.SmallIndex.html#associatedconstant.MAX" title="associated constant regex_automata::util::primitives::SmallIndex::MAX"><code>SmallIndex::MAX</code></a>.</p>
<p>Using this routine with an invalid index value will result in
unspecified behavior, but <em>not</em> undefined behavior. In particular, an
invalid index value is likely to cause panics or possibly even silent
logical errors.</p>
<p>Callers must never rely on a <code>SmallIndex</code> to be within a certain range
for memory safety.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.must" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#194-196">source</a><h4 class="code-header">pub fn <a href="#method.must" class="fn">must</a>(index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h4></section></summary><div class="docblock"><p>Like <a href="struct.SmallIndex.html#method.new" title="associated function regex_automata::util::primitives::SmallIndex::new"><code>SmallIndex::new</code></a>, but panics if the given index is not valid.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_usize" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#201-204">source</a><h4 class="code-header">pub const fn <a href="#method.as_usize" class="fn">as_usize</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Return this small index as a <code>usize</code>. This is guaranteed to never
overflow <code>usize</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_u64" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#209-212">source</a><h4 class="code-header">pub const fn <a href="#method.as_u64" class="fn">as_u64</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Return this small index as a <code>u64</code>. This is guaranteed to never
overflow.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_u32" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#217-219">source</a><h4 class="code-header">pub const fn <a href="#method.as_u32" class="fn">as_u32</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>Return the internal <code>u32</code> of this small index. This is guaranteed to
never overflow <code>u32</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_i32" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#224-227">source</a><h4 class="code-header">pub const fn <a href="#method.as_i32" class="fn">as_i32</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.i32.html">i32</a></h4></section></summary><div class="docblock"><p>Return the internal <code>u32</code> of this small index represented as an <code>i32</code>.
This is guaranteed to never overflow an <code>i32</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.one_more" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#234-236">source</a><h4 class="code-header">pub fn <a href="#method.one_more" class="fn">one_more</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns one more than this small index as a usize.</p>
<p>Since a small index has constraints on its maximum value, adding <code>1</code> to
it will always fit in a <code>usize</code>, <code>u32</code> and a <code>i32</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_ne_bytes" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#244-252">source</a><h4 class="code-header">pub fn <a href="#method.from_ne_bytes" class="fn">from_ne_bytes</a>(bytes: [<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.array.html">4</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>, <a class="struct" href="struct.SmallIndexError.html" title="struct regex_automata::util::primitives::SmallIndexError">SmallIndexError</a>&gt;</h4></section></summary><div class="docblock"><p>Decode this small index from the bytes given using the native endian
byte order for the current target.</p>
<p>If the decoded integer is not representable as a small index for the
current target, then this returns an error.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_ne_bytes_unchecked" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#260-262">source</a><h4 class="code-header">pub fn <a href="#method.from_ne_bytes_unchecked" class="fn">from_ne_bytes_unchecked</a>(bytes: [<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.array.html">4</a>]) -&gt; <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h4></section></summary><div class="docblock"><p>Decode this small index from the bytes given using the native endian
byte order for the current target.</p>
<p>This is analogous to <a href="struct.SmallIndex.html#method.new_unchecked" title="associated function regex_automata::util::primitives::SmallIndex::new_unchecked"><code>SmallIndex::new_unchecked</code></a> in that is does not
check whether the decoded integer is representable as a small index.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_ne_bytes" class="method"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#267-269">source</a><h4 class="code-header">pub fn <a href="#method.to_ne_bytes" class="fn">to_ne_bytes</a>(&amp;self) -&gt; [<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.array.html">4</a>]</h4></section></summary><div class="docblock"><p>Return the underlying small index integer as raw bytes in native endian
format.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#impl-Clone-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#impl-Debug-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.78.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#impl-D
H: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.78.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.78.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CSmallIndex%3E-for-%5BT%5D" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#272-279">source</a><a href="#impl-Index%3CSmallIndex%3E-for-%5BT%5D" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.slice.html">[T]</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#276-278">source</a><a href="#method.index" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CSmallIndex%3E-for-Vec%3CT%3E" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#289-296">source</a><a href="#impl-Index%3CSmallIndex%3E-for-Vec%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>&gt; for <a class="struct" href="https://doc.rust-lang.org/1.78.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#293-295">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/cor
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#871-873">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#896-899">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#impl-PartialEq-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#impl-PartialOrd-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#141">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.78.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1171">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1188">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1204">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1221">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu16%3E-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#312-321">source</a><a href="#impl-TryFrom%3Cu16%3E-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="struct.SmallIndexError.html" title="struct regex_automata::util::primitives::SmallIndexError">SmallIndexError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#315-320">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u16.html">u16</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a>, <a class="struct" href="struct.SmallIndexError.html" title="struct regex_automata::util::primitives::SmallIndexError">SmallIndexError</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu32%3E-for-SmallIndex" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#323-332">source</a><a href="#impl-TryFrom%3Cu32%3E-for-SmallIndex" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.SmallIndex.html" title="struct regex_automata::util::primitives::SmallIndex">SmallIndex</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="struct.SmallIndexError.html" title="struct regex_automata::util::primitives::SmallIndexError">SmallIndexError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-3" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/primitives.rs.html#326-331">source</a><a href="#method.try_from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html#tymethod.into" class="fn">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><a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-5" class="associatedtype trait-impl"><a href="#associatedtype.Error-5" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-4" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/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/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/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/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>