112 lines
49 KiB
HTML
112 lines
49 KiB
HTML
<!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="&&T">&&T</a></li><li><a href="#impl-EncodeAsVarULE%3CT%3E-for-%26T" title="&T">&T</a></li><li><a href="#impl-EncodeAsVarULE%3CVarZeroSlice%3CT,+F%3E%3E-for-%26%5BE%5D" title="&[E]">&[E]</a></li><li><a href="#impl-EncodeAsVarULE%3CZeroSlice%3CT%3E%3E-for-%26%5BT%5D" title="&[T]">&[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<T>">Option<T></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> <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<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>> {
|
||
// Required method
|
||
fn <a href="#tymethod.encode_var_ule_as_slices" class="fn">encode_var_ule_as_slices</a><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> R;
|
||
|
||
// Provided methods
|
||
fn <a href="#method.encode_var_ule_len" class="fn">encode_var_ule_len</a>(&self) -> <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>(&self, dst: &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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<A, B, AE, BE, Format> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="tuplevar/struct.Tuple2VarULE.html" title="struct zerovec::ule::tuplevar::Tuple2VarULE">Tuple2VarULE</a><A, B, Format>> 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><A>,
|
||
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><B>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<A, B, C, AE, BE, CE, Format> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="tuplevar/struct.Tuple3VarULE.html" title="struct zerovec::ule::tuplevar::Tuple3VarULE">Tuple3VarULE</a><A, B, C, Format>> 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><A>,
|
||
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><B>,
|
||
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><C>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<A, B, C, D, AE, BE, CE, DE, Format> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="tuplevar/struct.Tuple4VarULE.html" title="struct zerovec::ule::tuplevar::Tuple4VarULE">Tuple4VarULE</a><A, B, C, D, Format>> 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><A>,
|
||
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><B>,
|
||
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><C>,
|
||
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><D>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<A, B, C, D, E, AE, BE, CE, DE, EE, Format> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="tuplevar/struct.Tuple5VarULE.html" title="struct zerovec::ule::tuplevar::Tuple5VarULE">Tuple5VarULE</a><A, B, C, D, E, Format>> 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><A>,
|
||
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><B>,
|
||
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><C>,
|
||
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><D>,
|
||
EE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><E>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<A, B, C, D, E, F, AE, BE, CE, DE, EE, FE, Format> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="tuplevar/struct.Tuple6VarULE.html" title="struct zerovec::ule::tuplevar::Tuple6VarULE">Tuple6VarULE</a><A, B, C, D, E, F, Format>> 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><A>,
|
||
BE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><B>,
|
||
CE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><C>,
|
||
DE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><D>,
|
||
EE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><E>,
|
||
FE: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><F>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<T> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="../struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a><T>> for &<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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<T, E, F> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="../struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a><T, F>> for &<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><T>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<T, U> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="struct.OptionVarULE.html" title="struct zerovec::ule::OptionVarULE">OptionVarULE</a><U>> 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><T><div class="where">where
|
||
T: <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><U>,
|
||
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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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>(&self) -> <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>(&self, dst: &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<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>> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><T> for &<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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<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>> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><T> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&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><R>(&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>(&[&[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a>]]) -> R) -> 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<'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>> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><V> for <a class="struct" href="../struct.VarZeroCow.html" title="struct zerovec::VarZeroCow">VarZeroCow</a><'a, V></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<A, B, V> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="vartuple/struct.VarTupleULE.html" title="struct zerovec::ule::vartuple::VarTupleULE">VarTupleULE</a><A, V>> for <a class="struct" href="vartuple/struct.VarTuple.html" title="struct zerovec::ule::vartuple::VarTuple">VarTuple</a><A, B><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><V>,
|
||
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<T> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="../struct.ZeroSlice.html" title="struct zerovec::ZeroSlice">ZeroSlice</a><T>> for <a class="struct" href="../struct.ZeroVec.html" title="struct zerovec::ZeroVec">ZeroVec</a><'_, T><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<T, F> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><<a class="struct" href="../struct.VarZeroSlice.html" title="struct zerovec::VarZeroSlice">VarZeroSlice</a><T, F>> for <a class="struct" href="../struct.VarZeroVec.html" title="struct zerovec::VarZeroVec">VarZeroVec</a><'_, T, F><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<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>> <a class="trait" href="trait.EncodeAsVarULE.html" title="trait zerovec::ule::EncodeAsVarULE">EncodeAsVarULE</a><T> 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> |