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

259 lines
93 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 “slice”, that works for unsized types, i.e. the zero-copy version of `[T]` where `T` is not `Sized`."><title>VarZeroSlice 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="#">VarZeroSlice</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="#">VarZero<wbr>Slice</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#examples" title="Examples">Examples</a><ul><li><a href="#nested-slices" title="Nested Slices">Nested Slices</a></li><li><a href="#iterate-over-windows" title="Iterate over Windows">Iterate over Windows</a></li></ul></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.as_bytes" title="as_bytes">as_bytes</a></li><li><a href="#method.as_varzerovec" title="as_varzerovec">as_varzerovec</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.binary_search_in_range" title="binary_search_in_range">binary_search_in_range</a></li><li><a href="#method.binary_search_in_range_by" title="binary_search_in_range_by">binary_search_in_range_by</a></li><li><a href="#method.from_bytes_unchecked" title="from_bytes_unchecked">from_bytes_unchecked</a></li><li><a href="#method.get" title="get">get</a></li><li><a href="#method.get_unchecked" title="get_unchecked">get_unchecked</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.len" title="len">len</a></li><li><a href="#method.new_empty" title="new_empty">new_empty</a></li><li><a href="#method.parse_bytes" title="parse_bytes">parse_bytes</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsRef%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroSlice%3CT,+F%3E" title="AsRef&#60;VarZeroSlice&#60;T, F&#62;&#62;">AsRef&#60;VarZeroSlice&#60;T, F&#62;&#62;</a></li><li><a href="#impl-Debug-for-VarZeroSlice%3CT,+F%3E" title="Debug">Debug</a></li><li><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-%26%5BE%5D" title="EncodeAsVarULE&#60;VarZeroSlice&#60;T, F&#62;&#62;">EncodeAsVarULE&#60;VarZeroSlice&#60;T, F&#62;&#62;</a></li><li><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'_,+T,+F%3E" title="EncodeAsVarULE&#60;VarZeroSlice&#60;T, F&#62;&#62;">EncodeAsVarULE&#60;VarZeroSlice&#60;T, F&#62;&#62;</a></li><li><a href="#impl-Eq-for-VarZeroSlice%3CT,+F%3E" title="Eq">Eq</a></li><li><a href="#impl-From%3C%26VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'a,+T,+F%3E" title="From&#60;&#38;&#39;a VarZeroSlice&#60;T, F&#62;&#62;">From&#60;&#38;&#39;a VarZeroSlice&#60;T, F&#62;&#62;</a></li><li><a href="#impl-Index%3Cusize%3E-for-VarZeroSlice%3CT,+F%3E" title="Index&#60;usize&#62;">Index&#60;usize&#62;</a></li><li><a href="#impl-Ord-for-VarZeroSlice%3CT,+F%3E" title="Ord">Ord</a></li><li><a href="#impl-PartialEq-for-VarZeroSlice%3CT,+F%3E" title="PartialEq">PartialEq</a></li><li><a href="#impl-PartialOrd-for-VarZeroSlice%3CT,+F%3E" title="PartialOrd">PartialOrd</a></li><li><a href="#impl-VarULE-for-VarZeroSlice%3CT,+F%3E" title="VarULE">VarULE</a></li><li><a href="#impl-ZeroFrom%3C'zf,+VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'zf,+T,+F%3E" title="ZeroFrom&#60;&#39;zf, VarZeroSlice&#60;T, F&#62;&#62;">ZeroFrom&#60;&#39;zf, VarZeroSlice&#60;T, F&#62;&#62;</a></li><li><a href="#impl-ZeroFrom%3C'zf,+VarZeroSlice%3CT%3E%3E-for-%26VarZeroSlice%3CT%3E" title="ZeroFrom&#60;&#39;zf, VarZeroSlice&#60;T&#62;&#62;">ZeroFrom&#60;&#39;zf, VarZeroSlice&#60;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-Sized-for-VarZeroSlice%3CT,+F%3E" title="!Sized">!Sized</a></li><li><a href="#impl-Freeze-for-VarZeroSlice%3CT,+F%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-VarZeroSlice%3CT,+F%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-VarZeroSlice%3CT,+F%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-VarZeroSlice%3CT,+F%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-VarZeroSlice%3CT,+F%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-VarZeroSlice%3CT,+F%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-EncodeAsVarULE%3CT%3E-for-T" title="EncodeAsVarULE&#60;T&#62;">EncodeAsVarULE&#60;T&#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">VarZero<wbr>Slice</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/varzerovec/slice.rs.html#100-104">Source</a> </span></div><pre class="rust item-decl"><code>pub struct VarZeroSlice&lt;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>, F = <a class="struct" href="vecs/struct.Index16.html" title="struct zerovec::vecs::Index16">Index16</a>&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A zero-copy “slice”, that works for unsized types, i.e. the zero-copy version of <code>[T]</code>
where <code>T</code> is not <code>Sized</code>.</p>
<p>This behaves similarly to <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec&lt;T&gt;</code></a>, however <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec&lt;T&gt;</code></a> is allowed to contain
owned data and as such is ideal for deserialization since most human readable
serialization formats cannot unconditionally deserialize zero-copy.</p>
<p>This type can be used inside <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec&lt;T&gt;</code></a> and <a href="crate::ZeroMap"><code>ZeroMap</code></a>:
This essentially allows for the construction of zero-copy types isomorphic to <code>Vec&lt;Vec&lt;T&gt;&gt;</code> by instead
using <code>VarZeroVec&lt;ZeroSlice&lt;T&gt;&gt;</code>.</p>
<p>The <code>F</code> type parameter is a <a href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat"><code>VarZeroVecFormat</code></a> (see its docs for more details), which can be used to select the
precise format of the backing buffer with various size and performance tradeoffs. It defaults to <a href="vecs/struct.Index16.html" title="struct zerovec::vecs::Index16"><code>Index16</code></a>.</p>
<p>This type can be nested within itself to allow for multi-level nested <code>Vec</code>s.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2><h3 id="nested-slices"><a class="doc-anchor" href="#nested-slices">§</a>Nested Slices</h3>
<p>The following code constructs the conceptual zero-copy equivalent of <code>Vec&lt;Vec&lt;Vec&lt;str&gt;&gt;&gt;</code></p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::{VarZeroSlice, VarZeroVec};
<span class="kw">let </span>strings_1: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>];
<span class="kw">let </span>strings_2: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = <span class="macro">vec!</span>[<span class="string">"twelve"</span>, <span class="string">"seventeen"</span>, <span class="string">"forty two"</span>];
<span class="kw">let </span>strings_3: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = <span class="macro">vec!</span>[<span class="string">"我"</span>, <span class="string">"喜歡"</span>, <span class="string">"烏龍茶"</span>];
<span class="kw">let </span>strings_4: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = <span class="macro">vec!</span>[<span class="string">"w"</span>, <span class="string">"ω"</span>, <span class="string">"文"</span>, <span class="string">"𑄃"</span>];
<span class="kw">let </span>strings_12 = <span class="macro">vec!</span>[<span class="kw-2">&amp;*</span>strings_1, <span class="kw-2">&amp;*</span>strings_2];
<span class="kw">let </span>strings_34 = <span class="macro">vec!</span>[<span class="kw-2">&amp;*</span>strings_3, <span class="kw-2">&amp;*</span>strings_4];
<span class="kw">let </span>all_strings = <span class="macro">vec!</span>[strings_12, strings_34];
<span class="kw">let </span>vzv_1: VarZeroVec&lt;str&gt; = VarZeroVec::from(<span class="kw-2">&amp;</span>strings_1);
<span class="kw">let </span>vzv_2: VarZeroVec&lt;str&gt; = VarZeroVec::from(<span class="kw-2">&amp;</span>strings_2);
<span class="kw">let </span>vzv_3: VarZeroVec&lt;str&gt; = VarZeroVec::from(<span class="kw-2">&amp;</span>strings_3);
<span class="kw">let </span>vzv_4: VarZeroVec&lt;str&gt; = VarZeroVec::from(<span class="kw-2">&amp;</span>strings_4);
<span class="kw">let </span>vzv_12 = VarZeroVec::from(<span class="kw-2">&amp;</span>[vzv_1.as_slice(), vzv_2.as_slice()]);
<span class="kw">let </span>vzv_34 = VarZeroVec::from(<span class="kw-2">&amp;</span>[vzv_3.as_slice(), vzv_4.as_slice()]);
<span class="kw">let </span>vzv_all = VarZeroVec::from(<span class="kw-2">&amp;</span>[vzv_12.as_slice(), vzv_34.as_slice()]);
<span class="kw">let </span>reconstructed: Vec&lt;Vec&lt;Vec&lt;String&gt;&gt;&gt; = vzv_all
.iter()
.map(|v: <span class="kw-2">&amp;</span>VarZeroSlice&lt;VarZeroSlice&lt;str&gt;&gt;| {
v.iter()
.map(|x: <span class="kw-2">&amp;</span>VarZeroSlice&lt;<span class="kw">_</span>&gt;| {
x.as_varzerovec()
.iter()
.map(|s| s.to_owned())
.collect::&lt;Vec&lt;String&gt;&gt;()
})
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;()
})
.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
<span class="macro">assert_eq!</span>(reconstructed, all_strings);
<span class="kw">let </span>bytes = vzv_all.as_bytes();
<span class="kw">let </span>vzv_from_bytes: VarZeroVec&lt;VarZeroSlice&lt;VarZeroSlice&lt;str&gt;&gt;&gt; =
VarZeroVec::parse_bytes(bytes).unwrap();
<span class="macro">assert_eq!</span>(vzv_from_bytes, vzv_all);</code></pre></div><h3 id="iterate-over-windows"><a class="doc-anchor" href="#iterate-over-windows">§</a>Iterate over Windows</h3>
<p>Although <a href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice"><code>VarZeroSlice</code></a> does not itself have a <code>.windows</code> iterator like
<a href="https://doc.rust-lang.org/1.93.1/core/slice/iter/struct.Windows.html" title="struct core::slice::iter::Windows">core::slice::Windows</a>, this behavior can be easily modeled using an iterator:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerovec::VarZeroVec;
<span class="kw">let </span>vzv = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"d"</span>]);
<span class="kw">let </span><span class="kw-2">mut </span>it = vzv.iter().peekable();
<span class="kw">while let </span>(<span class="prelude-val">Some</span>(x), <span class="prelude-val">Some</span>(y)) = (it.next(), it.peek()) {
<span class="comment">// Evaluate (x, y) here.
</span>}</code></pre></div></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-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#106-274">Source</a><a href="#impl-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>&gt; <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_empty" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#108-111">Source</a><h4 class="code-header">pub const fn <a href="#method.new_empty" class="fn">new_empty</a>() -&gt; &amp;'static Self</h4></section></summary><div class="docblock"><p>Construct a new empty VarZeroSlice</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_bytes_unchecked" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#127-130">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 class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]) -&gt; &amp;Self</h4></section></summary><div class="docblock"><p>Uses a <code>&amp;[u8]</code> buffer as a <code>VarZeroSlice&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.VarZeroSlice.html#method.as_bytes" title="method zerovec::VarZeroSlice::as_bytes"><code>VarZeroSlice::as_bytes()</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#144-146">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>Get the number of elements in this slice</p>
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
<span class="kw">let </span>strings = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>, <span class="string">"quux"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="macro">assert_eq!</span>(vec.len(), <span class="number">4</span>);</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/varzerovec/slice.rs.html#160-162">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 <code>true</code> if the slice contains no elements.</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">let </span>strings: Vec&lt;String&gt; = <span class="macro">vec!</span>[];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="macro">assert!</span>(vec.is_empty());</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/varzerovec/slice.rs.html#180-182">Source</a><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>&lt;'b&gt;(&amp;'b self) -&gt; <a class="struct" href="vecs/struct.VarZeroSliceIter.html" title="struct zerovec::vecs::VarZeroSliceIter">VarZeroSliceIter</a>&lt;'b, T, F&gt; <a href="#" class="tooltip" data-notable-ty="VarZeroSliceIter&lt;&#39;b, T, F&gt;"></a></h4></section></summary><div class="docblock"><p>Obtain an iterator over this slices elements</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>, <span class="string">"quux"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="kw">let </span><span class="kw-2">mut </span>iter_results: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = vec.iter().collect();
<span class="macro">assert_eq!</span>(iter_results[<span class="number">0</span>], <span class="string">"foo"</span>);
<span class="macro">assert_eq!</span>(iter_results[<span class="number">1</span>], <span class="string">"bar"</span>);
<span class="macro">assert_eq!</span>(iter_results[<span class="number">2</span>], <span class="string">"baz"</span>);
<span class="macro">assert_eq!</span>(iter_results[<span class="number">3</span>], <span class="string">"quux"</span>);</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/varzerovec/slice.rs.html#201-203">Source</a><h4 class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&amp;self, idx: <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;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></summary><div class="docblock"><p>Get one of this slices elements, returning <code>None</code> if the index is out of bounds</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>, <span class="string">"quux"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="kw">let </span><span class="kw-2">mut </span>iter_results: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = vec.iter().collect();
<span class="macro">assert_eq!</span>(vec.get(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="string">"foo"</span>));
<span class="macro">assert_eq!</span>(vec.get(<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="string">"bar"</span>));
<span class="macro">assert_eq!</span>(vec.get(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="string">"baz"</span>));
<span class="macro">assert_eq!</span>(vec.get(<span class="number">3</span>), <span class="prelude-val">Some</span>(<span class="string">"quux"</span>));
<span class="macro">assert_eq!</span>(vec.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_unchecked" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#227-229">Source</a><h4 class="code-header">pub unsafe fn <a href="#method.get_unchecked" class="fn">get_unchecked</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&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"><p>Get one of this slices elements</p>
<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
<p><code>index</code> must be in range</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>, <span class="string">"quux"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="kw">let </span><span class="kw-2">mut </span>iter_results: Vec&lt;<span class="kw-2">&amp;</span>str&gt; = vec.iter().collect();
<span class="kw">unsafe </span>{
<span class="macro">assert_eq!</span>(vec.get_unchecked(<span class="number">0</span>), <span class="string">"foo"</span>);
<span class="macro">assert_eq!</span>(vec.get_unchecked(<span class="number">1</span>), <span class="string">"bar"</span>);
<span class="macro">assert_eq!</span>(vec.get_unchecked(<span class="number">2</span>), <span class="string">"baz"</span>);
<span class="macro">assert_eq!</span>(vec.get_unchecked(<span class="number">3</span>), <span class="string">"quux"</span>);
}</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#256-258">Source</a><h4 class="code-header">pub const 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>Get a reference to the entire encoded backing buffer of this slice</p>
<p>The bytes can be passed back to <a href="struct.VarZeroSlice.html#method.parse_bytes" title="associated function zerovec::VarZeroSlice::parse_bytes"><code>Self::parse_bytes()</code></a>.</p>
<p>To take the bytes as a vector, see [<code>VarZeroVec::into_bytes()</code>].</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>];
<span class="kw">let </span>vzv = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="macro">assert_eq!</span>(vzv, VarZeroVec::parse_bytes(vzv.as_bytes()).unwrap());</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.as_varzerovec" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#264-266">Source</a><h4 class="code-header">pub const fn <a href="#method.as_varzerovec" class="fn">as_varzerovec</a>&lt;'a&gt;(&amp;'a self) -&gt; <a class="struct" href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec">VarZeroVec</a>&lt;'a, T, F&gt;</h4></section></summary><div class="docblock"><p>Get this <a href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice"><code>VarZeroSlice</code></a> as a borrowed <a href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec</code></a></p>
<p>If you wish to repeatedly call methods on this <a href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice"><code>VarZeroSlice</code></a>,
it is more efficient to perform this conversion first</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_bytes" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#271-273">Source</a><h4 class="code-header">pub fn <a href="#method.parse_bytes" class="fn">parse_bytes</a>&lt;'a&gt;(slice: &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;&amp;'a Self, <a class="enum" href="ule/enum.UleError.html" title="enum zerovec::ule::UleError">UleError</a>&gt;</h4></section></summary><div class="docblock"><p>Parse a VarZeroSlice from a slice of the appropriate format</p>
<p>Slices of the right format can be obtained via <a href="struct.VarZeroSlice.html#method.as_bytes" title="method zerovec::VarZeroSlice::as_bytes"><code>VarZeroSlice::as_bytes()</code></a></p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-VarZeroSlice%3CT,+F%3E-1" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#276-344">Source</a><a href="#impl-VarZeroSlice%3CT,+F%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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>,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.binary_search" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#300-302">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>VarZeroVec&lt;T&gt;</code> for the given element. For more information, see
the standard library function <a href="https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search"><code>binary_search</code></a>.</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"f"</span>, <span class="string">"g"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="macro">assert_eq!</span>(vec.binary_search(<span class="string">"f"</span>), <span class="prelude-val">Ok</span>(<span class="number">2</span>));
<span class="macro">assert_eq!</span>(vec.binary_search(<span class="string">"e"</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_in_range" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#337-343">Source</a><h4 class="code-header">pub fn <a href="#method.binary_search_in_range" class="fn">binary_search_in_range</a>(
&amp;self,
x: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a>,
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;<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;&gt;</h4></section></summary><div class="docblock"><p>Binary searches a <code>VarZeroVec&lt;T&gt;</code> for the given element within a certain sorted range.</p>
<p>If the range is out of bounds, returns <code>None</code>. Otherwise, returns a <code>Result</code> according
to the behavior of the standard library function <a href="https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search"><code>binary_search</code></a>.</p>
<p>The index is returned relative to the start of the 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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"f"</span>, <span class="string">"g"</span>, <span class="string">"m"</span>, <span class="string">"n"</span>, <span class="string">"q"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="comment">// Same behavior as binary_search when the range covers the whole slice:
</span><span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"g"</span>, <span class="number">0</span>..<span class="number">7</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(<span class="number">3</span>)));
<span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"h"</span>, <span class="number">0</span>..<span class="number">7</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">4</span>)));
<span class="comment">// Will not look outside of the range:
</span><span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"g"</span>, <span class="number">0</span>..<span class="number">1</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">1</span>)));
<span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"g"</span>, <span class="number">6</span>..<span class="number">7</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">0</span>)));
<span class="comment">// Will return indices relative to the start of the range:
</span><span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"g"</span>, <span class="number">1</span>..<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(<span class="number">2</span>)));
<span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"h"</span>, <span class="number">1</span>..<span class="number">6</span>), <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">3</span>)));
<span class="comment">// Will return `None` if the range is out of bounds:
</span><span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"x"</span>, <span class="number">100</span>..<span class="number">200</span>), <span class="prelude-val">None</span>);
<span class="macro">assert_eq!</span>(vec.binary_search_in_range(<span class="string">"x"</span>, <span class="number">0</span>..<span class="number">200</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-VarZeroSlice%3CT,+F%3E-2" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#346-433">Source</a><a href="#impl-VarZeroSlice%3CT,+F%3E-2" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.binary_search_by" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#368-370">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>(<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/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>VarZeroVec&lt;T&gt;</code> for the given predicate. For more information, see
the standard library 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-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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"f"</span>, <span class="string">"g"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="macro">assert_eq!</span>(vec.binary_search_by(|probe| probe.cmp(<span class="string">"f"</span>)), <span class="prelude-val">Ok</span>(<span class="number">2</span>));
<span class="macro">assert_eq!</span>(vec.binary_search_by(|probe| probe.cmp(<span class="string">"e"</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_in_range_by" class="method"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#425-432">Source</a><h4 class="code-header">pub fn <a href="#method.binary_search_in_range_by" class="fn">binary_search_in_range_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>(<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/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,
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;<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;&gt;</h4></section></summary><div class="docblock"><p>Binary searches a <code>VarZeroVec&lt;T&gt;</code> for the given predicate within a certain sorted range.</p>
<p>If the range is out of bounds, returns <code>None</code>. Otherwise, returns a <code>Result</code> according
to the behavior of the standard library function <a href="https://doc.rust-lang.org/std/primitive.slice.html#method.binary_search"><code>binary_search</code></a>.</p>
<p>The index is returned relative to the start of the range.</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">let </span>strings = <span class="macro">vec!</span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"f"</span>, <span class="string">"g"</span>, <span class="string">"m"</span>, <span class="string">"n"</span>, <span class="string">"q"</span>];
<span class="kw">let </span>vec = VarZeroVec::&lt;str&gt;::from(<span class="kw-2">&amp;</span>strings);
<span class="comment">// Same behavior as binary_search when the range covers the whole slice:
</span><span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"g"</span>), <span class="number">0</span>..<span class="number">7</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(<span class="number">3</span>))
);
<span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"h"</span>), <span class="number">0</span>..<span class="number">7</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">4</span>))
);
<span class="comment">// Will not look outside of the range:
</span><span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"g"</span>), <span class="number">0</span>..<span class="number">1</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">1</span>))
);
<span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"g"</span>), <span class="number">6</span>..<span class="number">7</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">0</span>))
);
<span class="comment">// Will return indices relative to the start of the range:
</span><span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"g"</span>), <span class="number">1</span>..<span class="number">6</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(<span class="number">2</span>))
);
<span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"h"</span>), <span class="number">1</span>..<span class="number">6</span>),
<span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="number">3</span>))
);
<span class="comment">// Will return `None` if the range is out of bounds:
</span><span class="macro">assert_eq!</span>(
vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"x"</span>), <span class="number">100</span>..<span class="number">200</span>),
<span class="prelude-val">None
</span>);
<span class="macro">assert_eq!</span>(vec.binary_search_in_range_by(|v| v.cmp(<span class="string">"x"</span>), <span class="number">0</span>..<span class="number">200</span>), <span class="prelude-val">None</span>);</code></pre></div></div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#522-526">Source</a><a href="#impl-AsRef%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;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>, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;&gt; for <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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/varzerovec/slice.rs.html#523-525">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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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-Debug-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#513-520">Source</a><a href="#impl-Debug-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<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.fmt" class="method trait-impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#517-519">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-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-%26%5BE%5D" class="impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#245-264">Source</a><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-%26%5BE%5D" class="anchor">§</a><h3 class="code-header">impl&lt;T, E, F&gt; <a class="trait" href="ule/trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;&gt; for &amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.slice.html">[E]</a><div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
E: <a class="trait" href="ule/trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;T&gt;,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</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#251-254">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#257-259">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#261-263">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-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'_,+T,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#289-309">Source</a><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'_,+T,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; <a class="trait" href="ule/trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;&gt; for <a class="struct" href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec">VarZeroVec</a>&lt;'_, T, F&gt;<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_as_slices-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#294-297">Source</a><a href="#method.encode_var_ule_as_slices-1" 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-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#300-302">Source</a><a href="#method.encode_var_ule_len-1" 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-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#305-308">Source</a><a href="#method.encode_var_ule_write-1" 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%26VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'a,+T,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/vec.rs.html#176-180">Source</a><a href="#impl-From%3C%26VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'a,+T,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'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>, F&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 <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;&gt; for <a class="struct" href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec">VarZeroVec</a>&lt;'a, T, F&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/varzerovec/vec.rs.html#177-179">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 <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;) -&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-Index%3Cusize%3E-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#461-473">Source</a><a href="#impl-Index%3Cusize%3E-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;</h3></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/varzerovec/slice.rs.html#462">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method trait-impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#463-472">Source</a><a href="#method.index" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/1.93.1/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#506-511">Source</a><a href="#impl-Ord-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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>, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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/varzerovec/slice.rs.html#508-510">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></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#475-488">Source</a><a href="#impl-PartialEq-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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> for <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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>,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</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/varzerovec/slice.rs.html#483-487">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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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-PartialOrd-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#499-504">Source</a><a href="#impl-PartialOrd-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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>, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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/varzerovec/slice.rs.html#501-503">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-VarULE-for-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#444-459">Source</a><a href="#impl-VarULE-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'static, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>&gt; <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> for <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.validate_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#445-449">Source</a><a href="#method.validate_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.VarULE.html#tymethod.validate_bytes" class="fn">validate_bytes</a>(bytes: &amp;[<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;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a>, <a class="enum" href="ule/enum.UleError.html" title="enum zerovec::ule::UleError">UleError</a>&gt;</h4></section></summary><div class='docblock'>Validates a byte slice, <code>&amp;[u8]</code>. <a href="ule/trait.VarULE.html#tymethod.validate_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_bytes_unchecked-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#451-454">Source</a><a href="#method.from_bytes_unchecked-1" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="ule/trait.VarULE.html#tymethod.from_bytes_unchecked" class="fn">from_bytes_unchecked</a>(bytes: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]) -&gt; &amp;Self</h4></section></summary><div class='docblock'>Takes a byte slice, <code>&amp;[u8]</code>, and return it as <code>&amp;Self</code> with the same lifetime, assuming
that this byte slice has previously been run through <a href="ule/trait.VarULE.html#method.parse_bytes"><code>Self::parse_bytes()</code></a> with
success. <a href="ule/trait.VarULE.html#tymethod.from_bytes_unchecked">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#456-458">Source</a><a href="#method.as_bytes-1" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.VarULE.html#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'>Given <code>&amp;Self</code>, returns a <code>&amp;[u8]</code> with the same lifetime. <a href="ule/trait.VarULE.html#method.as_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.parse_bytes-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/mod.rs.html#315-320">Source</a><a href="#method.parse_bytes-1" class="anchor">§</a><h4 class="code-header">fn <a href="ule/trait.VarULE.html#method.parse_bytes" class="fn">parse_bytes</a>(bytes: &amp;[<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;&amp;Self, <a class="enum" href="ule/enum.UleError.html" title="enum zerovec::ule::UleError">UleError</a>&gt;</h4></section></summary><div class='docblock'>Parses a byte slice, <code>&amp;[u8]</code>, and return it as <code>&amp;Self</code> with the same lifetime. <a href="ule/trait.VarULE.html#method.parse_bytes">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ZeroFrom%3C'zf,+VarZeroSlice%3CT%3E%3E-for-%26VarZeroSlice%3CT%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#64-72">Source</a><a href="#impl-ZeroFrom%3C'zf,+VarZeroSlice%3CT%3E%3E-for-%26VarZeroSlice%3CT%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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T&gt;&gt; for &amp;'zf <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T&gt;<div class="where">where
T: 'static + <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<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.zero_from-1" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#69-71">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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</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,+VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'zf,+T,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#44-52">Source</a><a href="#impl-ZeroFrom%3C'zf,+VarZeroSlice%3CT,+F%3E%3E-for-VarZeroVec%3C'zf,+T,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'zf, T, F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;&gt; for <a class="struct" href="struct.VarZeroVec.html" title="struct zerovec::VarZeroVec">VarZeroVec</a>&lt;'zf, T, F&gt;<div class="where">where
T: 'static + <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<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.zero_from" class="method trait-impl"><a class="src rightside" href="../src/zerovec/zerofrom_impls.rs.html#49-51">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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&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-VarZeroSlice%3CT,+F%3E" class="impl"><a class="src rightside" href="../src/zerovec/varzerovec/slice.rs.html#490-497">Source</a><a href="#impl-Eq-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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>,
F: <a class="trait" href="vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</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-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-Freeze-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<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><section id="impl-RefUnwindSafe-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-RefUnwindSafe-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
F: <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>,
T: <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> + ?<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><section id="impl-Send-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-Send-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
T: <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.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section><section id="impl-Sized-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-Sized-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F = <a class="struct" href="vecs/struct.Index16.html" title="struct zerovec::vecs::Index16">Index16</a>&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> for <a class="struct" href="struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;</h3></section><section id="impl-Sync-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-Sync-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + ?<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><section id="impl-Unpin-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-Unpin-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> + ?<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><section id="impl-UnwindSafe-for-VarZeroSlice%3CT,+F%3E" class="impl"><a href="#impl-UnwindSafe-for-VarZeroSlice%3CT,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&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.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a>&lt;T, F&gt;<div class="where">where
F: <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>,
T: <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/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</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-EncodeAsVarULE%3CT%3E-for-T" class="impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#111-115">Source</a><a href="#impl-EncodeAsVarULE%3CT%3E-for-T" 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;T&gt; for T<div class="where">where
T: <a class="trait" href="ule/trait.VarULE.html" title="trait zerovec::ule::VarULE">VarULE</a> + ?<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.encode_var_ule_as_slices-2" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#112-114">Source</a><a href="#method.encode_var_ule_as_slices-2" 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, cb: 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-2" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#74-76">Source</a><a href="#method.encode_var_ule_len-2" 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-2" class="method trait-impl"><a class="src rightside" href="../src/zerovec/ule/encode.rs.html#80-89">Source</a><a href="#method.encode_var_ule_write-2" 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></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>","VarZeroSliceIter<'b, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"vecs/struct.VarZeroSliceIter.html\" title=\"struct zerovec::vecs::VarZeroSliceIter\">VarZeroSliceIter</a>&lt;'a, T, F&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T: <a class=\"trait\" href=\"ule/trait.VarULE.html\" title=\"trait zerovec::ule::VarULE\">VarULE</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, F: <a class=\"trait\" href=\"vecs/trait.VarZeroVecFormat.html\" title=\"trait zerovec::vecs::VarZeroVecFormat\">VarZeroVecFormat</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.VarZeroSliceIter.html\" title=\"struct zerovec::vecs::VarZeroSliceIter\">VarZeroSliceIter</a>&lt;'a, T, F&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> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.reference.html\">&amp;'a T</a>;</div>"}</script></section></div></main></body></html>