Files
GopherGate/target/doc/zerovec/ule/trait.EncodeAsVarULE.html
2026-02-26 12:00:21 -05:00

112 lines
49 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Allows types to be encoded as VarULEs. This is highly useful for implementing VarULE on custom DSTs where the type cannot be obtained as a reference to some other type."><title>EncodeAsVarULE in zerovec::ule - 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 trait"><!--[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="#">EncodeAsVarULE</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="#">Encode<wbr>AsVarULE</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#reverse-encoding-varule" title="Reverse-encoding VarULE">Reverse-encoding VarULE</a></li><li><a href="#safety" title="Safety">Safety</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.encode_var_ule_as_slices" title="encode_var_ule_as_slices">encode_var_ule_as_slices</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.encode_var_ule_len" title="encode_var_ule_len">encode_var_ule_len</a></li><li><a href="#method.encode_var_ule_write" title="encode_var_ule_write">encode_var_ule_write</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-EncodeAsVarULE%3CT%3E-for-%26%26T" title="&#38;&#38;T">&#38;&#38;T</a></li><li><a href="#impl-EncodeAsVarULE%3CT%3E-for-%26T" title="&#38;T">&#38;T</a></li><li><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-%26%5BE%5D" title="&#38;[E]">&#38;[E]</a></li><li><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-%26%5BT%5D" title="&#38;[T]">&#38;[T]</a></li><li><a href="#impl-EncodeAsVarULE%3CTuple2VarULE%3CA,+B,+Format%3E%3E-for-(AE,+BE)" title="(AE, BE)">(AE, BE)</a></li><li><a href="#impl-EncodeAsVarULE%3CTuple3VarULE%3CA,+B,+C,+Format%3E%3E-for-(AE,+BE,+CE)" title="(AE, BE, CE)">(AE, BE, CE)</a></li><li><a href="#impl-EncodeAsVarULE%3CTuple4VarULE%3CA,+B,+C,+D,+Format%3E%3E-for-(AE,+BE,+CE,+DE)" title="(AE, BE, CE, DE)">(AE, BE, CE, DE)</a></li><li><a href="#impl-EncodeAsVarULE%3CTuple5VarULE%3CA,+B,+C,+D,+E,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE)" title="(AE, BE, CE, DE, EE)">(AE, BE, CE, DE, EE)</a></li><li><a href="#impl-EncodeAsVarULE%3CTuple6VarULE%3CA,+B,+C,+D,+E,+F,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE,+FE)" title="(AE, BE, CE, DE, EE, FE)">(AE, BE, CE, DE, EE, FE)</a></li><li><a href="#impl-EncodeAsVarULE%3COptionVarULE%3CU%3E%3E-for-Option%3CT%3E" title="Option&#60;T&#62;">Option&#60;T&#62;</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In zerovec::<wbr>ule</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>::<wbr><a href="index.html">ule</a></div><h1>Trait <span class="trait">Encode<wbr>AsVarULE</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/ule/encode.rs.html#65-90">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe trait EncodeAsVarULE&lt;T: <a class="trait" href="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>&gt; {
// Required method
fn <a href="#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;
// Provided methods
fn <a href="#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> { ... }
<span class="item-spacer"></span> fn <a href="#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>]) { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Allows types to be encoded as VarULEs. This is highly useful for implementing VarULE on
custom DSTs where the type cannot be obtained as a reference to some other type.</p>
<p><a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a> should be implemented by providing an encoded slice for each field
of the VarULE type to the callback, in order. For an implementation to be safe, the slices
to the callback must, when concatenated, be a valid instance of the VarULE type.</p>
<p>See the <a href="custom/index.html" title="mod zerovec::ule::custom">custom VarULEdocumentation</a> for examples.</p>
<p><a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a> is only used to provide default implementations for <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_write"><code>Self::encode_var_ule_write()</code></a>
and <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a>. If you override the default implementations it is totally valid to
replace <a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a>s body with <code>unreachable!()</code>. This can be done for cases where
it is not possible to implement <a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a> but the other methods still work.</p>
<p>A typical implementation will take each field in the order found in the <a href="trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type,
convert it to ULE, call <a href="trait.ULE.html#method.slice_as_bytes" title="associated function zerovec::ule::ULE::slice_as_bytes"><code>ULE::slice_as_bytes()</code></a> on them, and pass the slices to <code>cb</code> in order.
A trailing <a href="../struct.ZeroVec.html" title="struct zerovec::ZeroVec"><code>ZeroVec</code></a> or <a href="../struct.VarZeroVec.html" title="struct zerovec::VarZeroVec"><code>VarZeroVec</code></a> can have their underlying
byte representation passed through.</p>
<p>In case the compiler is not optimizing <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a>, it can be overridden. A typical
implementation will add up the sizes of each field on the <a href="trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type and then add in the byte length of the
dynamically-sized part.</p>
<h2 id="reverse-encoding-varule"><a class="doc-anchor" href="#reverse-encoding-varule">§</a>Reverse-encoding VarULE</h2>
<p>This trait maps a struct to its bytes representation (“serialization”), and
<a href="../../zerofrom/zero_from/trait.ZeroFrom.html" title="trait zerofrom::zero_from::ZeroFrom"><code>ZeroFrom</code></a> performs the opposite operation, taking those bytes and
creating a struct from them (“deserialization”).</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>The safety invariants of <a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a> are:</p>
<ul>
<li>It must call <code>cb</code> (only once)</li>
<li>The slices passed to <code>cb</code>, if concatenated, should be a valid instance of the <code>T</code> <a href="trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type
(i.e. if fed to <a href="trait.VarULE.html#tymethod.validate_bytes" title="associated function zerovec::ule::VarULE::validate_bytes"><code>VarULE::validate_bytes()</code></a> they must produce a successful result)</li>
<li>It must return the return value of <code>cb</code> to the caller</li>
</ul>
<p>One or more of <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a> and <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_write"><code>Self::encode_var_ule_write()</code></a> may be provided.
If both are, then <code>zerovec</code> code is guaranteed to not call <a href="trait.EncodeAsVarULE.html#tymethod.encode_var_ule_as_slices"><code>Self::encode_var_ule_as_slices()</code></a>, and it may be replaced
with <code>unreachable!()</code>.</p>
<p>The safety invariants of <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a> are:</p>
<ul>
<li>It must return the length of the corresponding VarULE type</li>
</ul>
<p>The safety invariants of <a href="trait.EncodeAsVarULE.html#method.encode_var_ule_write"><code>Self::encode_var_ule_write()</code></a> are:</p>
<ul>
<li>The slice written to <code>dst</code> must be a valid instance of the <code>T</code> <a href="trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type</li>
</ul>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.encode_var_ule_as_slices" class="method"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#71">Source</a><h4 class="code-header">fn <a href="#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"><p>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>.</p>
<p>Do not call this function directly; instead use the other two. Some implementors
may define this function to panic.</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_len" class="method"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#74-76">Source</a><h4 class="code-header">fn <a href="#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"><p>Return the length, in bytes, of the corresponding <a href="trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a> type</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.encode_var_ule_write" class="method"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#80-89">Source</a><h4 class="code-header">fn <a href="#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"><p>Write the corresponding <a href="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="trait.EncodeAsVarULE.html#method.encode_var_ule_len"><code>Self::encode_var_ule_len()</code></a></p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CTuple2VarULE%3CA,+B,+Format%3E%3E-for-(AE,+BE)" class="impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#240">Source</a><a href="#impl-EncodeAsVarULE%3CTuple2VarULE%3CA,+B,+Format%3E%3E-for-(AE,+BE)" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, AE, BE, Format&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="tuplevar/struct.Tuple2VarULE.html" title="struct zerovec::ule::tuplevar::Tuple2VarULE">Tuple2VarULE</a>&lt;A, B, Format&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(AE, BE)</a><div class="where">where
A: <a class="trait" href="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>,
B: <a class="trait" href="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>,
AE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;A&gt;,
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;B&gt;,
Format: <a class="trait" href="../vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#240">Source</a><a href="#method.encode_var_ule_as_slices" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-1" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#240">Source</a><a href="#method.encode_var_ule_len-1" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-1" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#240">Source</a><a href="#method.encode_var_ule_write-1" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CTuple3VarULE%3CA,+B,+C,+Format%3E%3E-for-(AE,+BE,+CE)" class="impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#241">Source</a><a href="#impl-EncodeAsVarULE%3CTuple3VarULE%3CA,+B,+C,+Format%3E%3E-for-(AE,+BE,+CE)" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, AE, BE, CE, Format&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="tuplevar/struct.Tuple3VarULE.html" title="struct zerovec::ule::tuplevar::Tuple3VarULE">Tuple3VarULE</a>&lt;A, B, C, Format&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(AE, BE, CE)</a><div class="where">where
A: <a class="trait" href="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>,
B: <a class="trait" href="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>,
C: <a class="trait" href="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>,
AE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;A&gt;,
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;B&gt;,
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;C&gt;,
Format: <a class="trait" href="../vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-1" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#241">Source</a><a href="#method.encode_var_ule_as_slices-1" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-2" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#241">Source</a><a href="#method.encode_var_ule_len-2" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-2" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#241">Source</a><a href="#method.encode_var_ule_write-2" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CTuple4VarULE%3CA,+B,+C,+D,+Format%3E%3E-for-(AE,+BE,+CE,+DE)" class="impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#242">Source</a><a href="#impl-EncodeAsVarULE%3CTuple4VarULE%3CA,+B,+C,+D,+Format%3E%3E-for-(AE,+BE,+CE,+DE)" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, AE, BE, CE, DE, Format&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="tuplevar/struct.Tuple4VarULE.html" title="struct zerovec::ule::tuplevar::Tuple4VarULE">Tuple4VarULE</a>&lt;A, B, C, D, Format&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(AE, BE, CE, DE)</a><div class="where">where
A: <a class="trait" href="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>,
B: <a class="trait" href="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>,
C: <a class="trait" href="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>,
D: <a class="trait" href="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>,
AE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;A&gt;,
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;B&gt;,
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;C&gt;,
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;D&gt;,
Format: <a class="trait" href="../vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-2" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#242">Source</a><a href="#method.encode_var_ule_as_slices-2" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-3" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#242">Source</a><a href="#method.encode_var_ule_len-3" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-3" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#242">Source</a><a href="#method.encode_var_ule_write-3" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CTuple5VarULE%3CA,+B,+C,+D,+E,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE)" class="impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#243">Source</a><a href="#impl-EncodeAsVarULE%3CTuple5VarULE%3CA,+B,+C,+D,+E,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE)" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, AE, BE, CE, DE, EE, Format&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="tuplevar/struct.Tuple5VarULE.html" title="struct zerovec::ule::tuplevar::Tuple5VarULE">Tuple5VarULE</a>&lt;A, B, C, D, E, Format&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(AE, BE, CE, DE, EE)</a><div class="where">where
A: <a class="trait" href="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>,
B: <a class="trait" href="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>,
C: <a class="trait" href="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>,
D: <a class="trait" href="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="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>,
AE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;A&gt;,
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;B&gt;,
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;C&gt;,
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;D&gt;,
EE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;E&gt;,
Format: <a class="trait" href="../vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-3" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#243">Source</a><a href="#method.encode_var_ule_as_slices-3" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-4" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#243">Source</a><a href="#method.encode_var_ule_len-4" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-4" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#243">Source</a><a href="#method.encode_var_ule_write-4" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CTuple6VarULE%3CA,+B,+C,+D,+E,+F,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE,+FE)" class="impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#244">Source</a><a href="#impl-EncodeAsVarULE%3CTuple6VarULE%3CA,+B,+C,+D,+E,+F,+Format%3E%3E-for-(AE,+BE,+CE,+DE,+EE,+FE)" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, C, D, E, F, AE, BE, CE, DE, EE, FE, Format&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="tuplevar/struct.Tuple6VarULE.html" title="struct zerovec::ule::tuplevar::Tuple6VarULE">Tuple6VarULE</a>&lt;A, B, C, D, E, F, Format&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(AE, BE, CE, DE, EE, FE)</a><div class="where">where
A: <a class="trait" href="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>,
B: <a class="trait" href="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>,
C: <a class="trait" href="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>,
D: <a class="trait" href="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="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="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>,
AE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;A&gt;,
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;B&gt;,
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;C&gt;,
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;D&gt;,
EE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;E&gt;,
FE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;F&gt;,
Format: <a class="trait" href="../vecs/trait.VarZeroVecFormat.html" title="trait zerovec::vecs::VarZeroVecFormat">VarZeroVecFormat</a>,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-4" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#244">Source</a><a href="#method.encode_var_ule_as_slices-4" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-5" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#244">Source</a><a href="#method.encode_var_ule_len-5" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-5" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/tuplevar.rs.html#244">Source</a><a href="#method.encode_var_ule_write-5" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-%26%5BT%5D" class="impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#179-202">Source</a><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-%26%5BT%5D" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="../struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for &amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.slice.html">[T]</a><div class="where">where
T: <a class="trait" href="trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + 'static,</div></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-5" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#183-186">Source</a><a href="#method.encode_var_ule_as_slices-5" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-6" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#189-191">Source</a><a href="#method.encode_var_ule_len-6" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-6" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#193-201">Source</a><a href="#method.encode_var_ule_write-6" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><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="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="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="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"><section id="method.encode_var_ule_as_slices-6" 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-6" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-7" 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-7" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-7" 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-7" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3COptionVarULE%3CU%3E%3E-for-Option%3CT%3E" class="impl"><a class="src rightside" href="../../src/zerovec/ule/option.rs.html#206-244">Source</a><a href="#impl-EncodeAsVarULE%3COptionVarULE%3CU%3E%3E-for-Option%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="struct.OptionVarULE.html" title="struct zerovec::ule::OptionVarULE">OptionVarULE</a>&lt;U&gt;&gt; for <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;U&gt;,
U: <a class="trait" href="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"><section id="method.encode_var_ule_as_slices-7" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/option.rs.html#211-214">Source</a><a href="#method.encode_var_ule_as_slices-7" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_len-8" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/option.rs.html#217-225">Source</a><a href="#method.encode_var_ule_len-8" class="anchor">§</a><h4 class="code-header">fn <a href="#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><section id="method.encode_var_ule_write-8" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/option.rs.html#228-243">Source</a><a href="#method.encode_var_ule_write-8" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CT%3E-for-%26%26T" class="impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#123-127">Source</a><a href="#impl-EncodeAsVarULE%3CT%3E-for-%26%26T" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="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>&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;T&gt; for &amp;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-8" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#124-126">Source</a><a href="#method.encode_var_ule_as_slices-8" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><details class="toggle implementors-toggle"><summary><section id="impl-EncodeAsVarULE%3CT%3E-for-%26T" class="impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#117-121">Source</a><a href="#impl-EncodeAsVarULE%3CT%3E-for-%26T" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="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>&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;T&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;T</a></h3></section></summary><div class="impl-items"><section id="method.encode_var_ule_as_slices-9" class="method trait-impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#118-120">Source</a><a href="#method.encode_var_ule_as_slices-9" class="anchor">§</a><h4 class="code-header">fn <a href="#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></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-EncodeAsVarULE%3CV%3E-for-VarZeroCow%3C'a,+V%3E" class="impl"><a class="src rightside" href="../../src/zerovec/cow.rs.html#307-322">Source</a><a href="#impl-EncodeAsVarULE%3CV%3E-for-VarZeroCow%3C'a,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, V: <a class="trait" href="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>&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;V&gt; for <a class="struct" href="../struct.VarZeroCow.html" title="struct zerovec::VarZeroCow">VarZeroCow</a>&lt;'a, V&gt;</h3></section><section id="impl-EncodeAsVarULE%3CVarTupleULE%3CA,+V%3E%3E-for-VarTuple%3CA,+B%3E" class="impl"><a class="src rightside" href="../../src/zerovec/ule/vartuple.rs.html#154-177">Source</a><a href="#impl-EncodeAsVarULE%3CVarTupleULE%3CA,+V%3E%3E-for-VarTuple%3CA,+B%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A, B, V&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="vartuple/struct.VarTupleULE.html" title="struct zerovec::ule::vartuple::VarTupleULE">VarTupleULE</a>&lt;A, V&gt;&gt; for <a class="struct" href="vartuple/struct.VarTuple.html" title="struct zerovec::ule::vartuple::VarTuple">VarTuple</a>&lt;A, B&gt;<div class="where">where
A: <a class="trait" href="trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + 'static,
B: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;V&gt;,
V: <a class="trait" href="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><section id="impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'_,+T%3E" class="impl"><a class="src rightside" href="../../src/zerovec/ule/encode.rs.html#225-243">Source</a><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-ZeroVec%3C'_,+T%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;<a class="struct" href="../struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a>&lt;T&gt;&gt; for <a class="struct" href="../struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a>&lt;'_, T&gt;<div class="where">where
T: <a class="trait" href="trait.AsULE.html" title="trait zerovec::ule::AsULE">AsULE</a> + 'static,</div></h3></section><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="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="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><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: <a class="trait" href="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>&gt; <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a>&lt;T&gt; for T</h3></section></div><script src="../../trait.impl/zerovec/ule/encode/trait.EncodeAsVarULE.js" data-ignore-extern-crates="std,core" async></script></section></div></main></body></html>