Files
GopherGate/target/doc/zerovec/struct.ZeroVec.html
2026-02-26 12:00:21 -05:00

338 lines
129 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 zero-copy, byte-aligned vector for fixed-width types."><title>ZeroVec in zerovec - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="zerovec" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.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]--><rustdoc-topbar><h2><a href="#">ZeroVec</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../zerovec/index.html">zerovec</a><span class="version">0.11.5</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">ZeroVec</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li><li><a href="#how-it-works" title="How it Works">How it Works</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.as_maybe_borrowed" title="as_maybe_borrowed">as_maybe_borrowed</a></li><li><a href="#method.as_slice" title="as_slice">as_slice</a></li><li><a href="#method.clear" title="clear">clear</a></li><li><a href="#method.const_len" title="const_len">const_len</a></li><li><a href="#method.from_bytes_unchecked" title="from_bytes_unchecked">from_bytes_unchecked</a></li><li><a href="#method.is_owned" title="is_owned">is_owned</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.new_borrowed" title="new_borrowed">new_borrowed</a></li><li><a href="#method.owned_capacity" title="owned_capacity">owned_capacity</a></li><li><a href="#method.parse_bytes" title="parse_bytes">parse_bytes</a></li><li><a href="#method.truncated" title="truncated">truncated</a></li><li><a href="#method.try_from_slice" title="try_from_slice">try_from_slice</a></li></ul><h3><a href="#deref-methods-ZeroSlice%3CT%3E">Methods from Deref&lt;<wbr>Target=<wbr>Zero<wbr>Slice&lt;<wbr>T&gt;&gt;</a></h3><ul class="block deref-methods"><li><a href="#method.as_bytes" title="as_bytes">as_bytes</a></li><li><a href="#method.as_ule_slice" title="as_ule_slice">as_ule_slice</a></li><li><a href="#method.as_zerovec" title="as_zerovec">as_zerovec</a></li><li><a href="#method.binary_search" title="binary_search">binary_search</a></li><li><a href="#method.binary_search_by" title="binary_search_by">binary_search_by</a></li><li><a href="#method.cast" title="cast">cast</a></li><li><a href="#method.first" title="first">first</a></li><li><a href="#method.get" title="get">get</a></li><li><a href="#method.get_as_array" title="get_as_array">get_as_array</a></li><li><a href="#method.get_subslice" title="get_subslice">get_subslice</a></li><li><a href="#method.get_ule_ref" title="get_ule_ref">get_ule_ref</a></li><li><a href="#method.is_empty" title="is_empty">is_empty</a></li><li><a href="#method.iter" title="iter">iter</a></li><li><a href="#method.last" title="last">last</a></li><li><a href="#method.len" title="len">len</a></li><li><a href="#method.split_first" title="split_first">split_first</a></li><li><a href="#method.try_as_converted" title="try_as_converted">try_as_converted</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsRef%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" title="AsRef&#60;ZeroSlice&#60;T&#62;&#62;">AsRef&#60;ZeroSlice&#60;T&#62;&#62;</a></li><li><a href="#impl-AsRef%3C%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" title="AsRef&#60;[&#60;T as AsULE&#62;::ULE]&#62;">AsRef&#60;[&#60;T as AsULE&#62;::ULE]&#62;</a></li><li><a href="#impl-Clone-for-ZeroVec%3C'a,+T%3E" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-ZeroVec%3C'_,+T%3E" title="Debug">Debug</a></li><li><a href="#impl-Default-for-ZeroVec%3C'a,+T%3E" title="Default">Default</a></li><li><a href="#impl-Deref-for-ZeroVec%3C'a,+T%3E" title="Deref">Deref</a></li><li><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'_,+T%3E" title="EncodeAsVarULE&#60;ZeroSlice&#60;T&#62;&#62;">EncodeAsVarULE&#60;ZeroSlice&#60;T&#62;&#62;</a></li><li><a href="#impl-Eq-for-ZeroVec%3C'_,+T%3E" title="Eq">Eq</a></li><li><a href="#impl-From%3C%26%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" title="From&#60;&#38;&#39;a [&#60;T as AsULE&#62;::ULE]&#62;">From&#60;&#38;&#39;a [&#60;T as AsULE&#62;::ULE]&#62;</a></li><li><a href="#impl-Ord-for-ZeroVec%3C'a,+T%3E" title="Ord">Ord</a></li><li><a href="#impl-PartialEq%3C%26%5BT%5D%3E-for-ZeroVec%3C'_,+T%3E" title="PartialEq&#60;&#38;[T]&#62;">PartialEq&#60;&#38;[T]&#62;</a></li><li><a href="#impl-PartialEq%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" title="PartialEq&#60;ZeroSlice&#60;T&#62;&#62;">PartialEq&#60;ZeroSlice&#60;T&#62;&#62;</a></li><li><a href="#impl-PartialEq%3CZeroVec%3C'a,+T%3E%3E-for-ZeroSlice%3CT%3E" title="PartialEq&#60;ZeroVec&#60;&#39;a, T&#62;&#62;">PartialEq&#60;ZeroVec&#60;&#39;a, T&#62;&#62;</a></li><li><a href="#impl-PartialEq%3CZeroVec%3C'b,+T%3E%3E-for-ZeroVec%3C'a,+T%3E" title="PartialEq&#60;ZeroVec&#60;&#39;b, T&#62;&#62;">PartialEq&#60;ZeroVec&#60;&#39;b, T&#62;&#62;</a></li><li><a href="#impl-PartialEq%3C%5BT;+N%5D%3E-for-ZeroVec%3C'_,+T%3E" title="PartialEq&#60;[T; N]&#62;">PartialEq&#60;[T; N]&#62;</a></li><li><a href="#impl-PartialOrd-for-ZeroVec%3C'a,+T%3E" title="PartialOrd">PartialOrd</a></li><li><a href="#impl-Send-for-ZeroVec%3C'a,+T%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-ZeroVec%3C'a,+T%3E" title="Sync">Sync</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-ZeroVec%3C'static,+T%3E" title="Yokeable&#60;&#39;a&#62;">Yokeable&#60;&#39;a&#62;</a></li><li><a href="#impl-ZeroFrom%3C'zf,+ZeroSlice%3CT%3E%3E-for-ZeroVec%3C'zf,+T%3E" title="ZeroFrom&#60;&#39;zf, ZeroSlice&#60;T&#62;&#62;">ZeroFrom&#60;&#39;zf, ZeroSlice&#60;T&#62;&#62;</a></li><li><a href="#impl-ZeroFrom%3C'zf,+ZeroVec%3C'_,+T%3E%3E-for-ZeroVec%3C'zf,+T%3E" title="ZeroFrom&#60;&#39;zf, ZeroVec&#60;&#39;_, T&#62;&#62;">ZeroFrom&#60;&#39;zf, ZeroVec&#60;&#39;_, T&#62;&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ZeroVec%3C'a,+T%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ZeroVec%3C'a,+T%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-ZeroVec%3C'a,+T%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ZeroVec%3C'a,+T%3E" title="UnwindSafe">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" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-Receiver-for-P" title="Receiver">Receiver</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate zerovec</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">zerovec</a></div><h1>Struct <span class="struct">ZeroVec</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/zerovec/zerovec/mod.rs.html#92-102">Source</a> </span></div><pre class="rust item-decl"><code>pub struct ZeroVec&lt;'a, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>,</div>{ <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 zero-copy, byte-aligned vector for fixed-width types.</p>
<p><code>ZeroVec&lt;T&gt;</code> is designed as a drop-in replacement for <code>Vec&lt;T&gt;</code> in situations where it is
desirable to borrow data from an unaligned byte slice, such as zero-copy deserialization.</p>
<p><code>T</code> must implement <a href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE"><code>AsULE</code></a>, which is auto-implemented for a number of built-in types,
including all fixed-width multibyte integers. For variable-width types like <a href="https://doc.rust-lang.org/1.93.1/std/primitive.str.html" title="primitive str"><code>str</code></a>,
see <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec</code></a>. <a href="attr.make_ule.html" title="attr zerovec::make_ule"><code>zerovec::make_ule</code></a> may
be used to automatically implement <a href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE"><code>AsULE</code></a> for a type and generate the underlying <a href="ule/index.html" title="mod zerovec::ule"><code>ULE</code></a> type.</p>
<p>Typically, the zero-copy equivalent of a <code>Vec&lt;T&gt;</code> will simply be <code>ZeroVec&lt;'a, T&gt;</code>.</p>
<p>Most of the methods on <code>ZeroVec&lt;'a, T&gt;</code> come from its <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref"><code>Deref</code></a> implementation to <a href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice"><code>ZeroSlice&lt;T&gt;</code></a>.</p>
<p>For creating zero-copy vectors of fixed-size types, see <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec</code></a>.</p>
<p><code>ZeroVec&lt;T&gt;</code> behaves much like <a href="alloc::borrow::Cow"><code>Cow</code></a>, where it can be constructed from
owned data (and then mutated!) but can also borrow from some buffer.</p>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="comment">// The little-endian bytes correspond to the numbers on the following line.
</span><span class="kw">let </span>nums: <span class="kw-2">&amp;</span>[u16] = <span class="kw-2">&amp;</span>[<span class="number">211</span>, <span class="number">281</span>, <span class="number">421</span>, <span class="number">461</span>];
<span class="attr">#[derive(serde::Serialize, serde::Deserialize)]
</span><span class="kw">struct </span>Data&lt;<span class="lifetime">'a</span>&gt; {
<span class="attr">#[serde(borrow)]
</span>nums: ZeroVec&lt;<span class="lifetime">'a</span>, u16&gt;,
}
<span class="comment">// The owned version will allocate
</span><span class="kw">let </span>data = Data {
nums: ZeroVec::alloc_from_slice(nums),
};
<span class="kw">let </span>bincode_bytes =
bincode::serialize(<span class="kw-2">&amp;</span>data).expect(<span class="string">"Serialization should be successful"</span>);
<span class="comment">// Will deserialize without allocations
</span><span class="kw">let </span>deserialized: Data = bincode::deserialize(<span class="kw-2">&amp;</span>bincode_bytes)
.expect(<span class="string">"Deserialization should be successful"</span>);
<span class="comment">// This deserializes without allocation!
</span><span class="macro">assert!</span>(!deserialized.nums.is_owned());
<span class="macro">assert_eq!</span>(deserialized.nums.get(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">421</span>));
<span class="macro">assert_eq!</span>(deserialized.nums, nums);</code></pre></div><h2 id="how-it-works"><a class="doc-anchor" href="#how-it-works">§</a>How it Works</h2>
<p><code>ZeroVec&lt;T&gt;</code> represents a slice of <code>T</code> as a slice of <code>T::ULE</code>. The difference between <code>T</code> and
<code>T::ULE</code> is that <code>T::ULE</code> must be encoded in little-endian with 1-byte alignment. When accessing
items from <code>ZeroVec&lt;T&gt;</code>, we fetch the <code>T::ULE</code>, convert it on the fly to <code>T</code>, and return <code>T</code> by
value.</p>
<p>Benchmarks can be found in the project repository, with some results found in the <a href="index.html" title="mod zerovec">crate-level documentation</a>.</p>
<p>See <a href="https://github.com/unicode-org/icu4x/blob/main/utils/zerovec/design_doc.md">the design doc</a> for more details.</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-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#311-683">Source</a><a href="#impl-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&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/zerovec/zerovec/mod.rs.html#323-325">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, borrowed, empty <code>ZeroVec&lt;T&gt;</code>.</p>
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>zv: ZeroVec&lt;u16&gt; = ZeroVec::new();
<span class="macro">assert!</span>(zv.is_empty());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.const_len" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#328-330">Source</a><h4 class="code-header">pub const fn <a href="#method.const_len" class="fn">const_len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Same as <code>ZeroSlice::len</code>, which is available through <code>Deref</code> and not <code>const</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_borrowed" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#365-378">Source</a><h4 class="code-header">pub const fn <a href="#method.new_borrowed" class="fn">new_borrowed</a>(slice: &amp;'a [T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]) -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a new borrowed <code>ZeroVec</code> using an existing
backing buffer</p>
<p><em>Enabled with the <code>alloc</code> Cargo feature.</em></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_bytes" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#412-415">Source</a><h4 class="code-header">pub fn <a href="#method.parse_bytes" class="fn">parse_bytes</a>(bytes: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="ule/enum.UleError.html" title="enum zerovec::ule::UleError">UleError</a>&gt;</h4></section></summary><div class="docblock"><p>Parses a <code>&amp;[u8]</code> buffer into a <code>ZeroVec&lt;T&gt;</code>.</p>
<p>This function is infallible for built-in integer types, but fallible for other types,
such as <code>char</code>. For more information, see <a href="ule/trait.ULE.html#method.parse_bytes_to_slice" title="associated function zerovec::ule::ULE::parse_bytes_to_slice"><code>ULE::parse_bytes_to_slice</code></a>.</p>
<p>The bytes within the byte buffer must remain constant for the life of the ZeroVec.</p>
<h5 id="endianness"><a class="doc-anchor" href="#endianness">§</a>Endianness</h5>
<p>The byte buffer must be encoded in little-endian, even if running in a big-endian
environment. This ensures a consistent representation of data across platforms.</p>
<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x01</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert!</span>(!zerovec.is_owned());
<span class="macro">assert_eq!</span>(zerovec.get(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">421</span>));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.from_bytes_unchecked" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#422-428">Source</a><h4 class="code-header">pub const unsafe fn <a href="#method.from_bytes_unchecked" class="fn">from_bytes_unchecked</a>(bytes: &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]) -&gt; Self</h4></section></summary><div class="docblock"><p>Uses a <code>&amp;[u8]</code> buffer as a <code>ZeroVec&lt;T&gt;</code> without any verification.</p>
<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
<p><code>bytes</code> need to be an output from <a href="struct.ZeroSlice.html#method.as_bytes" title="method zerovec::ZeroSlice::as_bytes"><code>ZeroSlice::as_bytes()</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_slice" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#484-487">Source</a><h4 class="code-header">pub const fn <a href="#method.as_slice" class="fn">as_slice</a>(&amp;self) -&gt; &amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns this <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a> as a <a href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice"><code>ZeroSlice</code></a>.</p>
<p>To get a reference with a longer lifetime from a borrowed <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a>,
use <a href="struct.ZeroVec.html#method.as_maybe_borrowed" title="method zerovec::ZeroVec::as_maybe_borrowed"><code>ZeroVec::as_maybe_borrowed</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_owned" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#629-634">Source</a><h4 class="code-header">pub fn <a href="#method.is_owned" class="fn">is_owned</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if this type is fully owned</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_maybe_borrowed" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#642-651">Source</a><h4 class="code-header">pub fn <a href="#method.as_maybe_borrowed" class="fn">as_maybe_borrowed</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>If this is a borrowed <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a>, return it as a slice that covers
its lifetime parameter.</p>
<p>To infallibly get a <a href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice"><code>ZeroSlice</code></a> with a shorter lifetime, use
<a href="struct.ZeroVec.html#method.as_slice" title="method zerovec::ZeroVec::as_slice"><code>ZeroVec::as_slice</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.owned_capacity" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#677-682">Source</a><h4 class="code-header">pub fn <a href="#method.owned_capacity" class="fn">owned_capacity</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroUsize.html" title="type core::num::nonzero::NonZeroUsize">NonZeroUsize</a>&gt;</h4></section></summary><div class="docblock"><p>If the ZeroVec is owned, returns the capacity of the vector.</p>
<p>Otherwise, if the ZeroVec is borrowed, returns <code>None</code>.</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span><span class="kw-2">mut </span>zv = ZeroVec::&lt;u8&gt;::new_borrowed(<span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert!</span>(!zv.is_owned());
<span class="macro">assert_eq!</span>(zv.owned_capacity(), <span class="prelude-val">None</span>);
<span class="comment">// Convert to owned without appending anything
</span>zv.with_mut(|v| ());
<span class="macro">assert!</span>(zv.is_owned());
<span class="macro">assert_eq!</span>(zv.owned_capacity(), <span class="prelude-val">Some</span>(<span class="number">4</span>.try_into().unwrap()));
<span class="comment">// Double the size by appending
</span>zv.with_mut(|v| v.push(<span class="number">0</span>));
<span class="macro">assert!</span>(zv.is_owned());
<span class="macro">assert_eq!</span>(zv.owned_capacity(), <span class="prelude-val">Some</span>(<span class="number">8</span>.try_into().unwrap()));</code></pre></div></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ZeroVec%3C'a,+T%3E-1" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#785-839">Source</a><a href="#impl-ZeroVec%3C'a,+T%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.EqULE.html" title="trait zerovec::ule::EqULE">EqULE</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_from_slice" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#808-810">Source</a><h4 class="code-header">pub fn <a href="#method.try_from_slice" class="fn">try_from_slice</a>(slice: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.slice.html">[T]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Attempts to create a <code>ZeroVec&lt;'a, T&gt;</code> from a <code>&amp;'a [T]</code> by borrowing the argument.</p>
<p>If this is not possible, such as on a big-endian platform, <code>None</code> is returned.</p>
<h5 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="comment">// The little-endian bytes correspond to the numbers on the following line.
</span><span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x01</span>];
<span class="kw">let </span>nums: <span class="kw-2">&amp;</span>[u16] = <span class="kw-2">&amp;</span>[<span class="number">211</span>, <span class="number">281</span>, <span class="number">421</span>, <span class="number">461</span>];
<span class="kw">if let </span><span class="prelude-val">Some</span>(zerovec) = ZeroVec::try_from_slice(nums) {
<span class="macro">assert!</span>(!zerovec.is_owned());
<span class="macro">assert_eq!</span>(bytes, zerovec.as_bytes());
}</code></pre></div></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ZeroVec%3C'a,+T%3E-2" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#841-1129">Source</a><a href="#impl-ZeroVec%3C'a,+T%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clear" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#1005-1007">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>Remove all elements from this ZeroVec and reset it to an empty borrowed state.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.truncated" class="method"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#1125-1128">Source</a><h4 class="code-header">pub fn <a href="#method.truncated" class="fn">truncated</a>(self, max: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Truncates this vector to <code>min(self.len(), max)</code>.</p>
</div></details></div></details></div><details class="toggle big-toggle" open><summary><h2 id="deref-methods-ZeroSlice%3CT%3E" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt;</span><a href="#deref-methods-ZeroSlice%3CT%3E" class="anchor">§</a></h2></summary><div id="deref-methods-ZeroSlice%3CT%3E-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_zerovec" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#52-54">Source</a><h4 class="code-header">pub fn <a href="#method.as_zerovec" class="fn">as_zerovec</a>(&amp;self) -&gt; <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;</h4></section></summary><div class="docblock"><p>Get this <a href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice"><code>ZeroSlice</code></a> as a borrowed <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a></p>
<p><a href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice"><code>ZeroSlice</code></a> does not have most of the methods that <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a> does,
so it is recommended to convert it to a <a href="struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a> before doing anything.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#117-119">Source</a><h4 class="code-header">pub fn <a href="#method.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]"></a></h4></section></summary><div class="docblock"><p>Returns this slice as its underlying <code>&amp;[u8]</code> byte buffer representation.</p>
<p>Useful for serialization.</p>
<h5 id="example-3"><a class="doc-anchor" href="#example-3">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="comment">// The little-endian bytes correspond to the numbers on the following line.
</span><span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>nums: <span class="kw-2">&amp;</span>[u16] = <span class="kw-2">&amp;</span>[<span class="number">211</span>, <span class="number">281</span>, <span class="number">421</span>, <span class="number">32973</span>];
<span class="kw">let </span>zerovec = ZeroVec::alloc_from_slice(nums);
<span class="macro">assert_eq!</span>(bytes, zerovec.as_bytes());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ule_slice" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#123-125">Source</a><h4 class="code-header">pub fn <a href="#method.as_ule_slice" class="fn">as_ule_slice</a>(&amp;self) -&gt; &amp;[T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]</h4></section></summary><div class="docblock"><p>Dereferences this slice as <code>&amp;[T::ULE]</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#146-148">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.93.1/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of elements in this slice.</p>
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ule::AsULE;
<span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(<span class="number">4</span>, zerovec.len());
<span class="macro">assert_eq!</span>(
bytes.len(),
zerovec.len() * std::mem::size_of::&lt;&lt;u16 <span class="kw">as </span>AsULE&gt;::ULE&gt;()
);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#166-168">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.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether this slice is empty.</p>
<h5 id="example-5"><a class="doc-anchor" href="#example-5">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert!</span>(!zerovec.is_empty());
<span class="kw">let </span>emptyvec: ZeroVec&lt;u16&gt; = ZeroVec::parse_bytes(<span class="kw-2">&amp;</span>[]).expect(<span class="string">"infallible"</span>);
<span class="macro">assert!</span>(emptyvec.is_empty());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.get" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#190-195">Source</a><h4 class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Gets the element at the specified index. Returns <code>None</code> if out of range.</p>
<h5 id="example-6"><a class="doc-anchor" href="#example-6">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(zerovec.get(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">421</span>));
<span class="macro">assert_eq!</span>(zerovec.get(<span class="number">4</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.get_as_array" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#213-216">Source</a><h4 class="code-header">pub fn <a href="#method.get_as_array" class="fn">get_as_array</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.array.html">[T; N]</a>&gt;</h4></section></summary><div class="docblock"><p>Gets the entire slice as an array of length <code>N</code>. Returns <code>None</code> if the slice
does not have exactly <code>N</code> elements.</p>
<h5 id="example-7"><a class="doc-anchor" href="#example-7">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="kw">let </span>array: [u16; <span class="number">4</span>] =
zerovec.get_as_array().expect(<span class="string">"should be 4 items in array"</span>);
<span class="macro">assert_eq!</span>(array[<span class="number">2</span>], <span class="number">421</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.get_subslice" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#237-239">Source</a><h4 class="code-header">pub fn <a href="#method.get_subslice" class="fn">get_subslice</a>(&amp;self, range: <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Gets a subslice of elements within a certain range. Returns <code>None</code> if the range
is out of bounds of this <code>ZeroSlice</code>.</p>
<h5 id="example-8"><a class="doc-anchor" href="#example-8">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(
zerovec.get_subslice(<span class="number">1</span>..<span class="number">3</span>),
<span class="prelude-val">Some</span>(<span class="kw-2">&amp;*</span>ZeroVec::from_slice_or_alloc(<span class="kw-2">&amp;</span>[<span class="number">0x0119</span>, <span class="number">0x01A5</span>]))
);
<span class="macro">assert_eq!</span>(zerovec.get_subslice(<span class="number">3</span>..<span class="number">5</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.get_ule_ref" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#245-247">Source</a><h4 class="code-header">pub fn <a href="#method.get_ule_ref" class="fn">get_ule_ref</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>&gt;</h4></section></summary><div class="docblock"><p>Get a borrowed reference to the underlying ULE type at a specified index.</p>
<p>Prefer <a href="struct.ZeroSlice.html#method.get" title="method zerovec::ZeroSlice::get"><code>Self::get()</code></a> over this method where possible since working
directly with <code>ULE</code> types is less ergonomic</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.cast" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#274-279">Source</a><h4 class="code-header">pub fn <a href="#method.cast" class="fn">cast</a>&lt;P&gt;(&amp;self) -&gt; &amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;P&gt;<div class="where">where
P: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&lt;ULE = T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Casts a <code>ZeroSlice&lt;T&gt;</code> to a compatible <code>ZeroSlice&lt;P&gt;</code>.</p>
<p><code>T</code> and <code>P</code> are compatible if they have the same <code>ULE</code> representation.</p>
<p>If the <code>ULE</code>s of <code>T</code> and <code>P</code> are different, use <a href="struct.ZeroSlice.html#method.try_as_converted" title="method zerovec::ZeroSlice::try_as_converted"><code>Self::try_as_converted()</code></a>.</p>
<h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroSlice;
<span class="kw">const </span>BYTES: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">const </span>ZS_U16: <span class="kw-2">&amp;</span>ZeroSlice&lt;u16&gt; = {
<span class="kw">match </span>ZeroSlice::&lt;u16&gt;::try_from_bytes(BYTES) {
<span class="prelude-val">Ok</span>(s) =&gt; s,
<span class="prelude-val">Err</span>(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
}
};
<span class="kw">let </span>zs_i16: <span class="kw-2">&amp;</span>ZeroSlice&lt;i16&gt; = ZS_U16.cast();
<span class="macro">assert_eq!</span>(ZS_U16.get(<span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="number">32973</span>));
<span class="macro">assert_eq!</span>(zs_i16.get(<span class="number">3</span>), <span class="prelude-val">Some</span>(-<span class="number">32563</span>));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.try_as_converted" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#308-311">Source</a><h4 class="code-header">pub fn <a href="#method.try_as_converted" class="fn">try_as_converted</a>&lt;P: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;P&gt;, <a class="enum" href="ule/enum.UleError.html" title="enum zerovec::ule::UleError">UleError</a>&gt;</h4></section></summary><div class="docblock"><p>Converts a <code>&amp;ZeroSlice&lt;T&gt;</code> into a <code>&amp;ZeroSlice&lt;P&gt;</code>.</p>
<p>The resulting slice will have the same length as the original slice
if and only if <code>T::ULE</code> and <code>P::ULE</code> are the same size.</p>
<p>If <code>T</code> and <code>P</code> have the exact same <code>ULE</code>, use <a href="struct.ZeroSlice.html#method.cast" title="method zerovec::ZeroSlice::cast"><code>Self::cast()</code></a>.</p>
<h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroSlice;
<span class="kw">const </span>BYTES: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0x7F</span>, <span class="number">0xF3</span>, <span class="number">0x01</span>, <span class="number">0x00</span>, <span class="number">0x49</span>, <span class="number">0xF6</span>, <span class="number">0x01</span>, <span class="number">0x00</span>];
<span class="kw">const </span>ZS_U32: <span class="kw-2">&amp;</span>ZeroSlice&lt;u32&gt; = {
<span class="kw">match </span>ZeroSlice::&lt;u32&gt;::try_from_bytes(BYTES) {
<span class="prelude-val">Ok</span>(s) =&gt; s,
<span class="prelude-val">Err</span>(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
}
};
<span class="kw">let </span>zs_u8_4: <span class="kw-2">&amp;</span>ZeroSlice&lt;[u8; <span class="number">4</span>]&gt; =
ZS_U32.try_as_converted().expect(<span class="string">"valid code points"</span>);
<span class="macro">assert_eq!</span>(ZS_U32.get(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">127871</span>));
<span class="macro">assert_eq!</span>(zs_u8_4.get(<span class="number">0</span>), <span class="prelude-val">Some</span>([<span class="number">0x7F</span>, <span class="number">0xF3</span>, <span class="number">0x01</span>, <span class="number">0x00</span>]));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.first" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#327-329">Source</a><h4 class="code-header">pub fn <a href="#method.first" class="fn">first</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Gets the first element. Returns <code>None</code> if empty.</p>
<h5 id="example-9"><a class="doc-anchor" href="#example-9">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(zerovec.first(), <span class="prelude-val">Some</span>(<span class="number">211</span>));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#345-347">Source</a><h4 class="code-header">pub fn <a href="#method.last" class="fn">last</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Gets the last element. Returns <code>None</code> if empty.</p>
<h5 id="example-10"><a class="doc-anchor" href="#example-10">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(zerovec.last(), <span class="prelude-val">Some</span>(<span class="number">32973</span>));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#368-370">Source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="struct" href="vecs/struct.ZeroSliceIter.html" title="struct zerovec::vecs::ZeroSliceIter">ZeroSliceIter</a>&lt;'a, T&gt; <a href="#" class="tooltip" data-notable-ty="ZeroSliceIter&lt;&#39;a, T&gt;"></a></h4></section></summary><div class="docblock"><p>Gets an iterator over the elements.</p>
<h5 id="example-11"><a class="doc-anchor" href="#example-11">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="kw">let </span><span class="kw-2">mut </span>it = zerovec.iter();
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(<span class="number">211</span>));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(<span class="number">281</span>));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(<span class="number">421</span>));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">Some</span>(<span class="number">32973</span>));
<span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">None</span>);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.split_first" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#393-403">Source</a><h4 class="code-header">pub fn <a href="#method.split_first" class="fn">split_first</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(T, &amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;)&gt;</h4></section></summary><div class="docblock"><p>Returns a tuple with the first element and a subslice of the remaining elements.</p>
<h5 id="example-12"><a class="doc-anchor" href="#example-12">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ule::AsULE;
<span class="kw">use </span>zerovec::ZeroSlice;
<span class="kw">const </span>DATA: <span class="kw-2">&amp;</span>ZeroSlice&lt;u16&gt; =
ZeroSlice::&lt;u16&gt;::from_ule_slice(<span class="kw-2">&amp;</span>&lt;u16 <span class="kw">as </span>AsULE&gt;::ULE::from_array([
<span class="number">211</span>, <span class="number">281</span>, <span class="number">421</span>, <span class="number">32973</span>,
]));
<span class="kw">const </span>EXPECTED_VALUE: (u16, <span class="kw-2">&amp;</span>ZeroSlice&lt;u16&gt;) = (
<span class="number">211</span>,
ZeroSlice::&lt;u16&gt;::from_ule_slice(<span class="kw-2">&amp;</span>&lt;u16 <span class="kw">as </span>AsULE&gt;::ULE::from_array([
<span class="number">281</span>, <span class="number">421</span>, <span class="number">32973</span>,
])),
);
<span class="macro">assert_eq!</span>(EXPECTED_VALUE, DATA.split_first().unwrap());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.binary_search" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#455-458">Source</a><h4 class="code-header">pub fn <a href="#method.binary_search" class="fn">binary_search</a>(&amp;self, x: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class="docblock"><p>Binary searches a sorted <code>ZeroVec&lt;T&gt;</code> for the given element. For more information, see
the primitive function <a href="https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search"><code>binary_search</code></a>.</p>
<h5 id="example-13"><a class="doc-anchor" href="#example-13">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(zerovec.binary_search(<span class="kw-2">&amp;</span><span class="number">281</span>), <span class="prelude-val">Ok</span>(<span class="number">1</span>));
<span class="macro">assert_eq!</span>(zerovec.binary_search(<span class="kw-2">&amp;</span><span class="number">282</span>), <span class="prelude-val">Err</span>(<span class="number">2</span>));</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.binary_search_by" class="method"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#483-489">Source</a><h4 class="code-header">pub fn <a href="#method.binary_search_by" class="fn">binary_search_by</a>(
&amp;self,
predicate: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(T) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class="docblock"><p>Binary searches a sorted <code>ZeroVec&lt;T&gt;</code> based on a given predicate. For more information, see
the primitive function <a href="https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search_by"><code>binary_search_by</code></a>.</p>
<h5 id="example-14"><a class="doc-anchor" href="#example-14">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::ZeroVec;
<span class="kw">let </span>bytes: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">0xD3</span>, <span class="number">0x00</span>, <span class="number">0x19</span>, <span class="number">0x01</span>, <span class="number">0xA5</span>, <span class="number">0x01</span>, <span class="number">0xCD</span>, <span class="number">0x80</span>];
<span class="kw">let </span>zerovec: ZeroVec&lt;u16&gt; =
ZeroVec::parse_bytes(bytes).expect(<span class="string">"infallible"</span>);
<span class="macro">assert_eq!</span>(zerovec.binary_search_by(|x| x.cmp(<span class="kw-2">&amp;</span><span class="number">281</span>)), <span class="prelude-val">Ok</span>(<span class="number">1</span>));
<span class="macro">assert_eq!</span>(zerovec.binary_search_by(|x| x.cmp(<span class="kw-2">&amp;</span><span class="number">282</span>)), <span class="prelude-val">Err</span>(<span class="number">2</span>));</code></pre></div></div></details></div></details><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-AsRef%3C%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#292-296">Source</a><a href="#impl-AsRef%3C%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[&lt;T as <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#293-295">Source</a><a href="#method.as_ref-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&amp;self) -&gt; &amp;[T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]</h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#216-220">Source</a><a href="#impl-AsRef%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#217-219">Source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&amp;self) -&gt; &amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#198-214">Source</a><a href="#impl-Clone-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&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/zerovec/zerovec/mod.rs.html#199-213">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a duplicate of the value. <a href="https://doc.rust-lang.org/1.93.1/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.93.1/src/core/clone.rs.html#245-247">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.93.1/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-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#222-238">Source</a><a href="#impl-Debug-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,</div></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/zerovec/zerovec/mod.rs.html#226-237">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/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-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#273-278">Source</a><a href="#impl-Default-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&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/zerovec/zerovec/mod.rs.html#275-277">Source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#111-117">Source</a><a href="#impl-Deref-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#112">Source</a><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#114-116">Source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#225-243">Source</a><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="ule/trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + 'static,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_as_slices" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#229-232">Source</a><a href="#method.encode_var_ule_as_slices" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices" class="fn">encode_var_ule_as_slices</a>&lt;R&gt;(&amp;self, _: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;[&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -&gt; R) -&gt; R</h4></section></summary><div class='docblock'>Calls <code>cb</code> with a piecewise list of byte slices that when concatenated
produce the memory pattern of the corresponding instance of <code>T</code>. <a href="ule/trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_len" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#235-237">Source</a><a href="#method.encode_var_ule_len" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.EncodeAsVarULE.html#method.encode_var_ule_len" class="fn">encode_var_ule_len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Return the length, in bytes, of the corresponding <a href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type</div></details><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_write" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#239-242">Source</a><a href="#method.encode_var_ule_write" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.EncodeAsVarULE.html#method.encode_var_ule_write" class="fn">encode_var_ule_write</a>(&amp;self, dst: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>])</h4></section></summary><div class='docblock'>Write the corresponding <a href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type to the <code>dst</code> buffer. <code>dst</code> should
be the size of <a href="ule/trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%26%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#298-302">Source</a><a href="#impl-From%3C%26%5B%3CT+as+AsULE%3E::ULE%5D%3E-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;'a [&lt;T as <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</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="../src/zerovec/zerovec/mod.rs.html#299-301">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(other: &amp;'a [T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>]) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#286-290">Source</a><a href="#impl-Ord-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#287-289">Source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" 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.93.1/src/core/cmp.rs.html#1021-1023">Source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/cmp.rs.html#1060-1062">Source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/src/core/cmp.rs.html#1086-1088">Source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.93.1/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%3C%26%5BT%5D%3E-for-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#253-261">Source</a><a href="#impl-PartialEq%3C%26%5BT%5D%3E-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.slice.html">[T]</a>&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-3" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#258-260">Source</a><a href="#method.eq-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.slice.html">[T]</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-3" 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.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-PartialEq%3C%5BT;+N%5D%3E-for-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#263-271">Source</a><a href="#impl-PartialEq%3C%5BT;+N%5D%3E-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, const N: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.array.html">[T; N]</a>&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-4" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#268-270">Source</a><a href="#method.eq-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.array.html">[T; N]</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-4" 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.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-PartialEq%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#545-553">Source</a><a href="#impl-PartialEq%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#550-552">Source</a><a href="#method.eq-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-1" 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.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-PartialEq%3CZeroVec%3C'a,+T%3E%3E-for-ZeroSlice%3CT%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/slice.rs.html#535-543">Source</a><a href="#impl-PartialEq%3CZeroVec%3C'a,+T%3E%3E-for-ZeroSlice%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></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/zerovec/zerovec/slice.rs.html#540-542">Source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-PartialEq%3CZeroVec%3C'b,+T%3E%3E-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#242-251">Source</a><a href="#impl-PartialEq%3CZeroVec%3C'b,+T%3E%3E-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, 'b, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'b, T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq-2" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#247-250">Source</a><a href="#method.eq-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'b, T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-2" 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.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#280-284">Source</a><a href="#impl-PartialOrd-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</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/zerovec/zerovec/mod.rs.html#281-283">Source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/cmp.rs.html#1398">Source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.93.1/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.93.1/src/core/cmp.rs.html#1416">Source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.93.1/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.93.1/src/core/cmp.rs.html#1434">Source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.93.1/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.93.1/src/core/cmp.rs.html#1452">Source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.93.1/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Yokeable%3C'a%3E-for-ZeroVec%3C'static,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#27-51">Source</a><a href="#impl-Yokeable%3C'a%3E-for-ZeroVec%3C'static,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: 'static + <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="../yoke/yokeable/trait.Yokeable.html" title="trait yoke::yokeable::Yokeable">Yokeable</a>&lt;'a&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'static, T&gt;</h3><div class="docblock"><p>This impl requires enabling the optional <code>yoke</code> Cargo feature of the <code>zerovec</code> crate</p>
</div></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#28">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="../yoke/yokeable/trait.Yokeable.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h4></section></summary><div class='docblock'>This type MUST be <code>Self</code> with the <code>'static</code> replaced with <code>'a</code>, i.e. <code>Self&lt;'a&gt;</code></div></details><details class="toggle method-toggle" open><summary><section id="method.transform" class="method trait-impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#30-32">Source</a><a href="#method.transform" class="anchor">§</a><h4 class="code-header">fn <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform" class="fn">transform</a>(&amp;'a self) -&gt; &amp;'a Self::<a class="associatedtype" href="../yoke/yokeable/trait.Yokeable.html#associatedtype.Output" title="type yoke::yokeable::Yokeable::Output">Output</a></h4></section></summary><div class='docblock'>This method must cast <code>self</code> between <code>&amp;'a Self&lt;'static&gt;</code> and <code>&amp;'a Self&lt;'a&gt;</code>. <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.transform_owned" class="method trait-impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#34-36">Source</a><a href="#method.transform_owned" class="anchor">§</a><h4 class="code-header">fn <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform_owned" class="fn">transform_owned</a>(self) -&gt; Self::<a class="associatedtype" href="../yoke/yokeable/trait.Yokeable.html#associatedtype.Output" title="type yoke::yokeable::Yokeable::Output">Output</a></h4></section></summary><div class='docblock'>This method must cast <code>self</code> between <code>Self&lt;'static&gt;</code> and <code>Self&lt;'a&gt;</code>. <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.make" class="method trait-impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#38-43">Source</a><a href="#method.make" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="../yoke/yokeable/trait.Yokeable.html#associatedtype.Output" title="type yoke::yokeable::Yokeable::Output">Output</a>) -&gt; Self</h4></section></summary><div class='docblock'>This method can be used to cast away <code>Self&lt;'a&gt;</code>s lifetime. <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.make">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.transform_mut" class="method trait-impl"><a class="src rightside" href="../src/zerovec/yoke_impls.rs.html#45-50">Source</a><a href="#method.transform_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform_mut" class="fn">transform_mut</a>&lt;F&gt;(&amp;'a mut self, f: F)<div class="where">where
F: 'static + for&lt;'b&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;'b mut Self::<a class="associatedtype" href="../yoke/yokeable/trait.Yokeable.html#associatedtype.Output" title="type yoke::yokeable::Yokeable::Output">Output</a>),</div></h4></section></summary><div class='docblock'>This method must cast <code>self</code> between <code>&amp;'a mut Self&lt;'static&gt;</code> and <code>&amp;'a mut Self&lt;'a&gt;</code>,
and pass it to <code>f</code>. <a href="../yoke/yokeable/trait.Yokeable.html#tymethod.transform_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ZeroFrom%3C'zf,+ZeroSlice%3CT%3E%3E-for-ZeroVec%3C'zf,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#24-32">Source</a><a href="#impl-ZeroFrom%3C'zf,+ZeroSlice%3CT%3E%3E-for-ZeroVec%3C'zf,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'zf, T&gt; <a class="trait" href="../zerofrom/zero_from/trait.ZeroFrom.html" title="trait zerofrom::zero_from::ZeroFrom">ZeroFrom</a>&lt;'zf, <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'zf, T&gt;<div class="where">where
T: 'static + <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.zero_from-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#29-31">Source</a><a href="#method.zero_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="../zerofrom/zero_from/trait.ZeroFrom.html#tymethod.zero_from" class="fn">zero_from</a>(other: &amp;'zf <a class="struct" href="struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Clone the other <code>C</code> into a struct that may retain references into <code>C</code>.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ZeroFrom%3C'zf,+ZeroVec%3C'_,+T%3E%3E-for-ZeroVec%3C'zf,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#14-22">Source</a><a href="#impl-ZeroFrom%3C'zf,+ZeroVec%3C'_,+T%3E%3E-for-ZeroVec%3C'zf,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'zf, T&gt; <a class="trait" href="../zerofrom/zero_from/trait.ZeroFrom.html" title="trait zerofrom::zero_from::ZeroFrom">ZeroFrom</a>&lt;'zf, <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;&gt; for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'zf, T&gt;<div class="where">where
T: 'static + <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.zero_from" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#19-21">Source</a><a href="#method.zero_from" class="anchor">§</a><h4 class="code-header">fn <a href="../zerofrom/zero_from/trait.ZeroFrom.html#tymethod.zero_from" class="fn">zero_from</a>(other: &amp;'zf <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Clone the other <code>C</code> into a struct that may retain references into <code>C</code>.</div></details></div></details><section id="impl-Eq-for-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#240">Source</a><a href="#impl-Eq-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</div></h3></section><section id="impl-Send-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#107">Source</a><a href="#impl-Send-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Sync-for-ZeroVec%3C'a,+T%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerovec/mod.rs.html#109">Source</a><a href="#impl-Sync-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T: <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
T::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</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-ZeroVec%3C'a,+T%3E" class="impl"><a href="#impl-Freeze-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;</h3></section><section id="impl-RefUnwindSafe-for-ZeroVec%3C'a,+T%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
&lt;T as <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Unpin-for-ZeroVec%3C'a,+T%3E" class="impl"><a href="#impl-Unpin-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
&lt;T as <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-ZeroVec%3C'a,+T%3E" class="impl"><a href="#impl-UnwindSafe-for-ZeroVec%3C'a,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'a, T&gt;<div class="where">where
&lt;T as <a class="trait" href="ule/trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a>&gt;::<a class="associatedtype" href="ule/trait.AsULE.html#associatedtype.ULE" title="type zerovec::ule::AsULE::ULE">ULE</a>: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</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.93.1/src/core/any.rs.html#138">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.93.1/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.93.1/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.93.1/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#212">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.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#221">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.93.1/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.93.1/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.93.1/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#547">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#549">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dest: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dest</code>. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">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.93.1/src/core/convert/mod.rs.html#785">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.93.1/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.93.1/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/src/core/convert/mod.rs.html#767-769">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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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-Receiver-for-P" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/ops/deref.rs.html#378-380">Source</a><a href="#impl-Receiver-for-P" class="anchor">§</a><h3 class="code-header">impl&lt;P, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Receiver.html" title="trait core::ops::deref::Receiver">Receiver</a> for P<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = T&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/ops/deref.rs.html#382">Source</a><a href="#associatedtype.Target-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Receiver.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>arbitrary_self_types</code>)</span></div></span><div class='docblock'>The target type on which the method may be called.</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.93.1/src/alloc/borrow.rs.html#85-87">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.93.1/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.93.1/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 class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/alloc/borrow.rs.html#89">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/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.93.1/src/alloc/borrow.rs.html#90">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/alloc/borrow.rs.html#94">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#827-829">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.93.1/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.93.1/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 class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/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.93.1/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#811-813">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.93.1/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.93.1/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 class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/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.93.1/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.93.1/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.93.1/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">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.u8.html\">u8</a>]</div>","ZeroSliceIter<'a, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"vecs/struct.ZeroSliceIter.html\" title=\"struct zerovec::vecs::ZeroSliceIter\">ZeroSliceIter</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T: <a class=\"trait\" href=\"ule/trait.AsULE.html\" title=\"trait zerovec::ule::AsULE\">AsULE</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"vecs/struct.ZeroSliceIter.html\" title=\"struct zerovec::vecs::ZeroSliceIter\">ZeroSliceIter</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = T;</div>"}</script></section></div></main></body></html>