edlang/hashbrown/raw/struct.RawTable.html
2024-05-05 09:43:20 +00:00

206 lines
79 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A raw hash table with an unsafe API."><title>RawTable in hashbrown::raw - 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="hashbrown" 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="../../hashbrown/index.html">hashbrown</a><span class="version">0.14.5</span></h2></div><h2 class="location"><a href="#">RawTable</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.allocation_info">allocation_info</a></li><li><a href="#method.allocator">allocator</a></li><li><a href="#method.bucket">bucket</a></li><li><a href="#method.bucket_index">bucket_index</a></li><li><a href="#method.buckets">buckets</a></li><li><a href="#method.capacity">capacity</a></li><li><a href="#method.clear">clear</a></li><li><a href="#method.clear_no_drop">clear_no_drop</a></li><li><a href="#method.clone_from_with_hasher">clone_from_with_hasher</a></li><li><a href="#method.data_end">data_end</a></li><li><a href="#method.data_start">data_start</a></li><li><a href="#method.drain">drain</a></li><li><a href="#method.drain_iter_from">drain_iter_from</a></li><li><a href="#method.erase">erase</a></li><li><a href="#method.erase_entry">erase_entry</a></li><li><a href="#method.find">find</a></li><li><a href="#method.find_or_find_insert_slot">find_or_find_insert_slot</a></li><li><a href="#method.get">get</a></li><li><a href="#method.get_many_mut">get_many_mut</a></li><li><a href="#method.get_many_unchecked_mut">get_many_unchecked_mut</a></li><li><a href="#method.get_mut">get_mut</a></li><li><a href="#method.insert">insert</a></li><li><a href="#method.insert_entry">insert_entry</a></li><li><a href="#method.insert_in_slot">insert_in_slot</a></li><li><a href="#method.insert_no_grow">insert_no_grow</a></li><li><a href="#method.into_iter_from">into_iter_from</a></li><li><a href="#method.is_bucket_full">is_bucket_full</a></li><li><a href="#method.is_empty">is_empty</a></li><li><a href="#method.iter">iter</a></li><li><a href="#method.iter_hash">iter_hash</a></li><li><a href="#method.len">len</a></li><li><a href="#method.new">new</a></li><li><a href="#method.new_in">new_in</a></li><li><a href="#method.remove">remove</a></li><li><a href="#method.remove_entry">remove_entry</a></li><li><a href="#method.replace_bucket_with">replace_bucket_with</a></li><li><a href="#method.reserve">reserve</a></li><li><a href="#method.shrink_to">shrink_to</a></li><li><a href="#method.try_insert_no_grow">try_insert_no_grow</a></li><li><a href="#method.try_reserve">try_reserve</a></li><li><a href="#method.try_with_capacity">try_with_capacity</a></li><li><a href="#method.try_with_capacity_in">try_with_capacity_in</a></li><li><a href="#method.with_capacity">with_capacity</a></li><li><a href="#method.with_capacity_in">with_capacity_in</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-RawTable%3CT,+A%3E">Clone</a></li><li><a href="#impl-Default-for-RawTable%3CT,+A%3E">Default</a></li><li><a href="#impl-Drop-for-RawTable%3CT,+A%3E">Drop</a></li><li><a href="#impl-IntoIterator-for-RawTable%3CT,+A%3E">IntoIterator</a></li><li><a href="#impl-Send-for-RawTable%3CT,+A%3E">Send</a></li><li><a href="#impl-Sync-for-RawTable%3CT,+A%3E">Sync</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-RawTable%3CT,+A%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-RawTable%3CT,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-RawTable%3CT,+A%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RawTable%3CT,+A%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In hashbrown::raw</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../hashbrown/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">hashbrown</a>::<wbr><a href="index.html">raw</a>::<wbr><a class="struct" href="#">RawTable</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/hashbrown/raw/mod.rs.html#786-791">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 RawTable&lt;T, A: Allocator = Global&gt; { <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 raw hash table with an unsafe API.</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-RawTable%3CT%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#811-838">source</a><a href="#impl-RawTable%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, Global&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#818-824">source</a><h4 class="code-header">pub const fn <a href="#method.new" class="fn">new</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new empty hash table without allocating any memory.</p>
<p>In effect this returns a table with exactly 1 bucket. However we can
leave the data pointer dangling since that bucket is never written to
due to our load factor forcing us to always have at least 1 free bucket.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_with_capacity" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#829-831">source</a><h4 class="code-header">pub fn <a href="#method.try_with_capacity" class="fn">try_with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/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;Self, <a class="enum" href="../enum.TryReserveError.html" title="enum hashbrown::TryReserveError">TryReserveError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to allocate a new hash table with at least enough capacity
for inserting the given number of elements without reallocating.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#835-837">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fn">with_capacity</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Allocates a new hash table with at least enough capacity for inserting
the given number of elements without reallocating.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#840-1684">source</a><a href="#impl-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: Allocator&gt; <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_in" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#850-856">source</a><h4 class="code-header">pub const fn <a href="#method.new_in" class="fn">new_in</a>(alloc: A) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new empty hash table without allocating any memory, using the
given allocator.</p>
<p>In effect this returns a table with exactly 1 bucket. However we can
leave the data pointer dangling since that bucket is never written to
due to our load factor forcing us to always have at least 1 free bucket.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_with_capacity_in" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#884-895">source</a><h4 class="code-header">pub fn <a href="#method.try_with_capacity_in" class="fn">try_with_capacity_in</a>(
capacity: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>,
alloc: 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;Self, <a class="enum" href="../enum.TryReserveError.html" title="enum hashbrown::TryReserveError">TryReserveError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to allocate a new hash table using the given allocator, with at least enough
capacity for inserting the given number of elements without reallocating.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_capacity_in" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#899-905">source</a><h4 class="code-header">pub fn <a href="#method.with_capacity_in" class="fn">with_capacity_in</a>(capacity: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>, alloc: A) -&gt; Self</h4></section></summary><div class="docblock"><p>Allocates a new hash table using the given allocator, with at least enough capacity for
inserting the given number of elements without reallocating.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.allocator" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#909-911">source</a><h4 class="code-header">pub fn <a href="#method.allocator" class="fn">allocator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;A</a></h4></section></summary><div class="docblock"><p>Returns a reference to the underlying allocator.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.data_end" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#921-940">source</a><h4 class="code-header">pub fn <a href="#method.data_end" class="fn">data_end</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull">NonNull</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns pointer to one past last <code>data</code> element in the table as viewed from
the start point of the allocation.</p>
<p>The caller must ensure that the <code>RawTable</code> outlives the returned <a href="https://doc.rust-lang.org/1.78.0/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull"><code>NonNull&lt;T&gt;</code></a>,
otherwise using it may result in <a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html"><code>undefined behavior</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.data_start" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#945-947">source</a><h4 class="code-header">pub unsafe fn <a href="#method.data_start" class="fn">data_start</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull">NonNull</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns pointer to start of data table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.allocation_info" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#958-962">source</a><h4 class="code-header">pub fn <a href="#method.allocation_info" class="fn">allocation_info</a>(&amp;self) -&gt; (<a class="struct" href="https://doc.rust-lang.org/1.78.0/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull">NonNull</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u8.html">u8</a>&gt;, <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/alloc/layout/struct.Layout.html" title="struct core::alloc::layout::Layout">Layout</a>)</h4></section></summary><div class="docblock"><p>Return the information about memory allocated by the table.</p>
<p><code>RawTable</code> allocates single memory block to store both data and metadata.
This function returns allocation size and alignment and the beginning of the area.
These are the arguments which will be passed to <code>dealloc</code> when the table is dropped.</p>
<p>This function might be useful for memory profiling.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.bucket_index" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#966-968">source</a><h4 class="code-header">pub unsafe fn <a href="#method.bucket_index" class="fn">bucket_index</a>(&amp;self, bucket: &amp;<a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the index of a bucket from a <code>Bucket</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.bucket" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#995-1023">source</a><h4 class="code-header">pub unsafe fn <a href="#method.bucket" class="fn">bucket</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns a pointer to an element in the table.</p>
<p>The caller must ensure that the <code>RawTable</code> outlives the returned <a href="struct.Bucket.html" title="struct hashbrown::raw::Bucket"><code>Bucket&lt;T&gt;</code></a>,
otherwise using it may result in <a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html"><code>undefined behavior</code></a>.</p>
<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
<p>If <code>mem::size_of::&lt;T&gt;() != 0</code>, then the caller of this function must observe the
following safety rules:</p>
<ul>
<li>
<p>The table must already be allocated;</p>
</li>
<li>
<p>The <code>index</code> must not be greater than the number returned by the <a href="struct.RawTable.html#method.buckets" title="method hashbrown::raw::RawTable::buckets"><code>RawTable::buckets</code></a>
function, i.e. <code>(index + 1) &lt;= self.buckets()</code>.</p>
</li>
</ul>
<p>It is safe to call this function with index of zero (<code>index == 0</code>) on a table that has
not been allocated, but using the returned <a href="struct.Bucket.html" title="struct hashbrown::raw::Bucket"><code>Bucket</code></a> results in <a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html"><code>undefined behavior</code></a>.</p>
<p>If <code>mem::size_of::&lt;T&gt;() == 0</code>, then the only requirement is that the <code>index</code> must
not be greater than the number returned by the <a href="struct.RawTable.html#method.buckets" title="method hashbrown::raw::RawTable::buckets"><code>RawTable::buckets</code></a> function, i.e.
<code>(index + 1) &lt;= self.buckets()</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.erase" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1035-1039">source</a><h4 class="code-header">pub unsafe fn <a href="#method.erase" class="fn">erase</a>(&amp;mut self, item: <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;)</h4></section></summary><div class="docblock"><p>Erases an element from the table, dropping it in place.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.erase_entry" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1045-1055">source</a><h4 class="code-header">pub fn <a href="#method.erase_entry" class="fn">erase_entry</a>(&amp;mut self, hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>, eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Finds and erases an element from the table, dropping it in place.
Returns true if an element was found.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1062-1070">source</a><h4 class="code-header">pub unsafe fn <a href="#method.remove" class="fn">remove</a>(&amp;mut self, item: <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;) -&gt; (T, <a class="struct" href="struct.InsertSlot.html" title="struct hashbrown::raw::InsertSlot">InsertSlot</a>)</h4></section></summary><div class="docblock"><p>Removes an element from the table, returning it.</p>
<p>This also returns an <code>InsertSlot</code> pointing to the newly free bucket.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_entry" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1074-1080">source</a><h4 class="code-header">pub fn <a href="#method.remove_entry" class="fn">remove_entry</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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;T&gt;</h4></section></summary><div class="docblock"><p>Finds and removes an element from the table, returning it.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clear_no_drop" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1084-1086">source</a><h4 class="code-header">pub fn <a href="#method.clear_no_drop" class="fn">clear_no_drop</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Marks all table buckets as empty without dropping their contents.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clear" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1090-1103">source</a><h4 class="code-header">pub fn <a href="#method.clear" class="fn">clear</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Removes all elements from the table without freeing the backing memory.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.shrink_to" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1107-1168">source</a><h4 class="code-header">pub fn <a href="#method.shrink_to" class="fn">shrink_to</a>(&amp;mut self, min_size: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>, hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>Shrinks the table to fit <code>max(self.len(), min_size)</code> elements.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.reserve" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1173-1188">source</a><h4 class="code-header">pub fn <a href="#method.reserve" class="fn">reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>, hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>Ensures that at least <code>additional</code> items can be inserted into the table
without reallocation.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_reserve" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1193-1205">source</a><h4 class="code-header">pub fn <a href="#method.try_reserve" class="fn">try_reserve</a>(
&amp;mut self,
additional: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>,
hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</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="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.unit.html">()</a>, <a class="enum" href="../enum.TryReserveError.html" title="enum hashbrown::TryReserveError">TryReserveError</a>&gt;</h4></section></summary><div class="docblock"><p>Tries to ensure that at least <code>additional</code> items can be inserted into
the table without reallocation.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1298-1322">source</a><h4 class="code-header">pub fn <a href="#method.insert" class="fn">insert</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
value: T,
hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>
) -&gt; <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Inserts a new element into the table, and returns its raw bucket.</p>
<p>This does not check if the given element already exists in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_insert_no_grow" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1332-1343">source</a><h4 class="code-header">pub fn <a href="#method.try_insert_no_grow" class="fn">try_insert_no_grow</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
value: T
) -&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.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;, T&gt;</h4></section></summary><div class="docblock"><p>Attempts to insert a new element without growing the table and return its raw bucket.</p>
<p>Returns an <code>Err</code> containing the given element if inserting it would require growing the
table.</p>
<p>This does not check if the given element already exists in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_entry" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1349-1351">source</a><h4 class="code-header">pub fn <a href="#method.insert_entry" class="fn">insert_entry</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
value: T,
hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class="docblock"><p>Inserts a new element into the table, and returns a mutable reference to it.</p>
<p>This does not check if the given element already exists in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_no_grow" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1360-1371">source</a><h4 class="code-header">pub unsafe fn <a href="#method.insert_no_grow" class="fn">insert_no_grow</a>(&amp;mut self, hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>, value: T) -&gt; <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Inserts a new element into the table, without growing the table.</p>
<p>There must be enough space in the table to insert the new element.</p>
<p>This does not check if the given element already exists in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.replace_bucket_with" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1380-1398">source</a><h4 class="code-header">pub unsafe fn <a href="#method.replace_bucket_with" class="fn">replace_bucket_with</a>&lt;F&gt;(&amp;mut self, bucket: <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a><div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(T) -&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;T&gt;,</div></h4></section></summary><div class="docblock"><p>Temporary removes a bucket, applying the given function to the removed
element and optionally put back the returned value in the same bucket.</p>
<p>Returns <code>true</code> if the bucket still contains an element</p>
<p>This does not check if the given bucket is actually occupied.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.find_or_find_insert_slot" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1407-1432">source</a><h4 class="code-header">pub fn <a href="#method.find_or_find_insert_slot" class="fn">find_or_find_insert_slot</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a>,
hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</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.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;, <a class="struct" href="struct.InsertSlot.html" title="struct hashbrown::raw::InsertSlot">InsertSlot</a>&gt;</h4></section></summary><div class="docblock"><p>Searches for an element in the table. If the element is not found,
returns <code>Err</code> with the position of a slot where an element with the
same hash could be inserted.</p>
<p>This function may resize the table if additional space is required for
inserting an element.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert_in_slot" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1443-1450">source</a><h4 class="code-header">pub unsafe fn <a href="#method.insert_in_slot" class="fn">insert_in_slot</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
slot: <a class="struct" href="struct.InsertSlot.html" title="struct hashbrown::raw::InsertSlot">InsertSlot</a>,
value: T
) -&gt; <a class="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Inserts a new element into the table in the given slot, and returns its
raw bucket.</p>
<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
<p><code>slot</code> must point to a slot previously returned by
<code>find_or_find_insert_slot</code>, and no mutation of the table must have
occurred since that call.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.find" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1454-1473">source</a><h4 class="code-header">pub fn <a href="#method.find" class="fn">find</a>(&amp;self, hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>, eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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="struct" href="struct.Bucket.html" title="struct hashbrown::raw::Bucket">Bucket</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Searches for an element in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1477-1483">source</a><h4 class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&amp;self, hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>, eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>&gt;</h4></section></summary><div class="docblock"><p>Gets a reference to an element in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1487-1493">source</a><h4 class="code-header">pub fn <a href="#method.get_mut" class="fn">get_mut</a>(
&amp;mut self,
hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>,
eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;mut T</a>&gt;</h4></section></summary><div class="docblock"><p>Gets a mutable reference to an element in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_many_mut" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1504-1523">source</a><h4 class="code-header">pub fn <a href="#method.get_many_mut" class="fn">get_many_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>&gt;(
&amp;mut self,
hashes: [<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.array.html">N</a>],
eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;mut T</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.array.html">N</a>]&gt;</h4></section></summary><div class="docblock"><p>Attempts to get mutable references to <code>N</code> entries in the table at once.</p>
<p>Returns an array of length <code>N</code> with the results of each query.</p>
<p>At most one mutable reference will be returned to any entry. <code>None</code> will be returned if any
of the hashes are duplicates. <code>None</code> will be returned if the hash is not found.</p>
<p>The <code>eq</code> argument should be a closure such that <code>eq(i, k)</code> returns true if <code>k</code> is equal to
the <code>i</code>th key to be looked up.</p>
</div></details><section id="method.get_many_unchecked_mut" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1525-1532">source</a><h4 class="code-header">pub unsafe fn <a href="#method.get_many_unchecked_mut" class="fn">get_many_unchecked_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>&gt;(
&amp;mut self,
hashes: [<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.array.html">N</a>],
eq: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</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="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;mut T</a>; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.array.html">N</a>]&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.capacity" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1557-1559">source</a><h4 class="code-header">pub fn <a href="#method.capacity" class="fn">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of elements the map can hold without reallocating.</p>
<p>This number is a lower bound; the table might be able to hold
more, but is guaranteed to be able to hold at least this many.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1563-1565">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of elements in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1569-1571">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if the table contains no elements.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.buckets" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1575-1577">source</a><h4 class="code-header">pub fn <a href="#method.buckets" class="fn">buckets</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of buckets in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_bucket_full" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1585-1587">source</a><h4 class="code-header">pub unsafe fn <a href="#method.is_bucket_full" class="fn">is_bucket_full</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Checks whether the bucket at <code>index</code> is full.</p>
<h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
<p>The caller must ensure <code>index</code> is less than the number of buckets.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1594-1600">source</a><h4 class="code-header">pub unsafe fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="struct.RawIter.html" title="struct hashbrown::raw::RawIter">RawIter</a>&lt;T&gt; <a href="#" class="tooltip" data-notable-ty="RawIter&lt;T&gt;"></a></h4></section></summary><div class="docblock"><p>Returns an iterator over every element in the table. It is up to
the caller to ensure that the <code>RawTable</code> outlives the <code>RawIter</code>.
Because we cannot make the <code>next</code> method unsafe on the <code>RawIter</code>
struct, we have to make the <code>iter</code> method unsafe.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.iter_hash" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1613-1615">source</a><h4 class="code-header">pub unsafe fn <a href="#method.iter_hash" class="fn">iter_hash</a>(&amp;self, hash: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="struct.RawIterHash.html" title="struct hashbrown::raw::RawIterHash">RawIterHash</a>&lt;T&gt; <a href="#" class="tooltip" data-notable-ty="RawIterHash&lt;T&gt;"></a></h4></section></summary><div class="docblock"><p>Returns an iterator over occupied buckets that could match a given hash.</p>
<p><code>RawTable</code> only stores 7 bits of the hash value, so this iterator may
return items that have a hash value different than the one provided. You
should always validate the returned values before using them.</p>
<p>It is up to the caller to ensure that the <code>RawTable</code> outlives the
<code>RawIterHash</code>. Because we cannot make the <code>next</code> method unsafe on the
<code>RawIterHash</code> struct, we have to make the <code>iter_hash</code> method unsafe.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.drain" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1620-1625">source</a><h4 class="code-header">pub fn <a href="#method.drain" class="fn">drain</a>(&amp;mut self) -&gt; <a class="struct" href="struct.RawDrain.html" title="struct hashbrown::raw::RawDrain">RawDrain</a>&lt;'_, T, A&gt; <a href="#" class="tooltip" data-notable-ty="RawDrain&lt;&#39;_, T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Returns an iterator which removes all elements from the table without
freeing the memory.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.drain_iter_from" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1635-1643">source</a><h4 class="code-header">pub unsafe fn <a href="#method.drain_iter_from" class="fn">drain_iter_from</a>(&amp;mut self, iter: <a class="struct" href="struct.RawIter.html" title="struct hashbrown::raw::RawIter">RawIter</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.RawDrain.html" title="struct hashbrown::raw::RawDrain">RawDrain</a>&lt;'_, T, A&gt; <a href="#" class="tooltip" data-notable-ty="RawDrain&lt;&#39;_, T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Returns an iterator which removes all elements from the table without
freeing the memory.</p>
<p>Iteration starts at the provided iterators current location.</p>
<p>It is up to the caller to ensure that the iterator is valid for this
<code>RawTable</code> and covers all items that remain in the table.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter_from" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1651-1660">source</a><h4 class="code-header">pub unsafe fn <a href="#method.into_iter_from" class="fn">into_iter_from</a>(self, iter: <a class="struct" href="struct.RawIter.html" title="struct hashbrown::raw::RawIter">RawIter</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.RawIntoIter.html" title="struct hashbrown::raw::RawIntoIter">RawIntoIter</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="RawIntoIter&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Returns an iterator which consumes all elements from the table.</p>
<p>Iteration starts at the provided iterators current location.</p>
<p>It is up to the caller to ensure that the iterator is valid for this
<code>RawTable</code> and covers all items that remain in the table.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RawTable%3CT,+A%3E-1" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3567-3652">source</a><a href="#impl-RawTable%3CT,+A%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;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>, A: Allocator + <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_from_with_hasher" class="method"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3611-3651">source</a><h4 class="code-header">pub fn <a href="#method.clone_from_with_hasher" class="fn">clone_from_with_hasher</a>(
&amp;mut self,
source: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;Self</a>,
hasher: impl <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/core/primitive.u64.html">u64</a>
)</h4></section></summary><div class="docblock"><p>Variant of <code>clone_from</code> to use when a hasher is available.</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-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3436-3535">source</a><a href="#impl-Clone-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;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>, A: Allocator + <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <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.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</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/hashbrown/raw/mod.rs.html#3437-3468">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; Self</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"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3470-3534">source</a><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/core/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-Default-for-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3654-3659">source</a><a href="#impl-Default-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: Allocator + <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3656-3658">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Drop-for-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3679-3694">source</a><a href="#impl-Drop-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: Allocator&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3681-3693">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.78.0/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IntoIterator-for-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3696-3707">source</a><a href="#impl-IntoIterator-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: Allocator&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = T</h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = <a class="struct" href="struct.RawIntoIter.html" title="struct hashbrown::raw::RawIntoIter">RawIntoIter</a>&lt;T, A&gt;</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#3701-3706">source</a><a href="#method.into_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -&gt; <a class="struct" href="struct.RawIntoIter.html" title="struct hashbrown::raw::RawIntoIter">RawIntoIter</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="RawIntoIter&lt;T, A&gt;"></a></h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/1.78.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><section id="impl-Send-for-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1686-1691">source</a><a href="#impl-Send-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + Allocator,</div></h3></section><section id="impl-Sync-for-RawTable%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/hashbrown/raw/mod.rs.html#1692-1697">source</a><a href="#impl-Sync-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + Allocator,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-RawTable%3CT,+A%3E" class="impl"><a href="#impl-Freeze-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-RawTable%3CT,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Unpin-for-RawTable%3CT,+A%3E" class="impl"><a href="#impl-Unpin-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-RawTable%3CT,+A%3E" class="impl"><a href="#impl-UnwindSafe-for-RawTable%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.RawTable.html" title="struct hashbrown::raw::RawTable">RawTable</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-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/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
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/core/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/core/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" 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" 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/core/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-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" 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" 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" 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" 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.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><script type="text/json" id="notable-traits-data">{"RawDrain<'_, T, A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.RawDrain.html\" title=\"struct hashbrown::raw::RawDrain\">RawDrain</a>&lt;'_, T, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T, A: Allocator&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.RawDrain.html\" title=\"struct hashbrown::raw::RawDrain\">RawDrain</a>&lt;'_, T, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = T;</div>","RawIntoIter<T, A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.RawIntoIter.html\" title=\"struct hashbrown::raw::RawIntoIter\">RawIntoIter</a>&lt;T, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T, A: Allocator&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.RawIntoIter.html\" title=\"struct hashbrown::raw::RawIntoIter\">RawIntoIter</a>&lt;T, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = T;</div>","RawIter<T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.RawIter.html\" title=\"struct hashbrown::raw::RawIter\">RawIter</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.RawIter.html\" title=\"struct hashbrown::raw::RawIter\">RawIter</a>&lt;T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"struct\" href=\"struct.Bucket.html\" title=\"struct hashbrown::raw::Bucket\">Bucket</a>&lt;T&gt;;</div>","RawIterHash<T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.RawIterHash.html\" title=\"struct hashbrown::raw::RawIterHash\">RawIterHash</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.RawIterHash.html\" title=\"struct hashbrown::raw::RawIterHash\">RawIterHash</a>&lt;T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"struct\" href=\"struct.Bucket.html\" title=\"struct hashbrown::raw::Bucket\">Bucket</a>&lt;T&gt;;</div>"}</script></section></div></main></body></html>