mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-19 14:25:18 +01:00
64 lines
No EOL
32 KiB
HTML
64 lines
No EOL
32 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="`static` friendly data structures that don’t require dynamic memory allocation"><title>heapless - 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-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="heapless" data-themes="" data-resource-suffix="" data-rustdoc-version="1.91.1 (ed61e7d7e 2025-11-07)" data-channel="1.91.1" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-c3e638e9.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-6dc2a7f3.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 mod crate"><!--[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="#">Crate heapless</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../heapless/index.html">heapless</a><span class="version">0.9.2</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#zeroize-support" title="Zeroize Support">Zeroize Support</a></li><li><a href="#minimum-supported-rust-version-msrv" title="Minimum Supported Rust Version (MSRV)">Minimum Supported Rust Version (MSRV)</a></li></ul><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></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"><h1>Crate <span>heapless</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/heapless/lib.rs.html#1-254">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>static</code> friendly data structures that don’t require dynamic memory allocation</p>
|
||
<p>The core principle behind <code>heapless</code> is that its data structures are backed by a <em>static</em> memory
|
||
allocation. For example, you can think of <code>heapless::Vec</code> as an alternative version of
|
||
<code>std::Vec</code> with fixed capacity and that can’t be re-allocated on the fly (e.g. via <code>push</code>).</p>
|
||
<p>All <code>heapless</code> data structures store their memory allocation <em>inline</em> and specify their capacity
|
||
via their type parameter <code>N</code>. This means that you can instantiate a <code>heapless</code> data structure on
|
||
the stack, in a <code>static</code> variable, or even in the heap.</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>heapless::Vec; <span class="comment">// fixed capacity `std::Vec`
|
||
|
||
// on the stack
|
||
</span><span class="kw">let </span><span class="kw-2">mut </span>xs: Vec<u8, <span class="number">8</span>> = Vec::new(); <span class="comment">// can hold up to 8 elements
|
||
</span>xs.push(<span class="number">42</span>)<span class="question-mark">?</span>;
|
||
<span class="macro">assert_eq!</span>(xs.pop(), <span class="prelude-val">Some</span>(<span class="number">42</span>));
|
||
|
||
<span class="comment">// in a `static` variable
|
||
</span><span class="kw">static </span><span class="kw-2">mut </span>XS: Vec<u8, <span class="number">8</span>> = Vec::new();
|
||
|
||
<span class="kw">let </span>xs = <span class="kw">unsafe </span>{ <span class="kw-2">&mut </span>XS };
|
||
|
||
xs.push(<span class="number">42</span>)<span class="question-mark">?</span>;
|
||
<span class="macro">assert_eq!</span>(xs.pop(), <span class="prelude-val">Some</span>(<span class="number">42</span>));
|
||
|
||
<span class="comment">// in the heap (though kind of pointless because no reallocation)
|
||
</span><span class="kw">let </span><span class="kw-2">mut </span>ys: Box<Vec<u8, <span class="number">8</span>>> = Box::new(Vec::new());
|
||
ys.push(<span class="number">42</span>)<span class="question-mark">?</span>;
|
||
<span class="macro">assert_eq!</span>(ys.pop(), <span class="prelude-val">Some</span>(<span class="number">42</span>));</code></pre></div>
|
||
<p>Because they have fixed capacity <code>heapless</code> data structures don’t implicitly reallocate. This
|
||
means that operations like <code>heapless::Vec.push</code> are <em>truly</em> constant time rather than amortized
|
||
constant time with potentially unbounded (depends on the allocator) worst case execution time
|
||
(which is bad/unacceptable for hard real time applications).</p>
|
||
<p><code>heapless</code> data structures don’t use a memory allocator which means no risk of an uncatchable
|
||
Out Of Memory (OOM) condition while performing operations on them. It’s certainly possible to
|
||
run out of capacity while growing <code>heapless</code> data structures, but the API lets you handle this
|
||
possibility by returning a <code>Result</code> on operations that may exhaust the capacity of the data
|
||
structure.</p>
|
||
<p>List of currently implemented data structures:</p>
|
||
<ul>
|
||
<li><a href="binary_heap/type.BinaryHeap.html" title="type heapless::binary_heap::BinaryHeap"><code>BinaryHeap</code></a>: A priority queue.</li>
|
||
<li><a href="deque/type.Deque.html" title="type heapless::deque::Deque"><code>Deque</code></a>: A double-ended queue.</li>
|
||
<li><a href="history_buf/type.HistoryBuf.html" title="type heapless::history_buf::HistoryBuf"><code>HistoryBuf</code></a>: A “history buffer”, similar to a write-only ring buffer.</li>
|
||
<li><a href="index_map/struct.IndexMap.html" title="struct heapless::index_map::IndexMap"><code>IndexMap</code></a>: A hash table.</li>
|
||
<li><a href="index_set/struct.IndexSet.html" title="struct heapless::index_set::IndexSet"><code>IndexSet</code></a>: A hash set.</li>
|
||
<li><a href="linear_map/type.LinearMap.html" title="type heapless::linear_map::LinearMap"><code>LinearMap</code></a>: A linear map.</li>
|
||
<li><a href="sorted_linked_list/type.SortedLinkedList.html" title="type heapless::sorted_linked_list::SortedLinkedList"><code>SortedLinkedList</code></a>: A sorted linked list.</li>
|
||
<li><a href="string/type.String.html" title="type heapless::string::String"><code>String</code></a>: A string.</li>
|
||
<li><a href="vec/type.Vec.html" title="type heapless::vec::Vec"><code>Vec</code></a>: A vector.</li>
|
||
<li><a href="mpmc/index.html" title="mod heapless::mpmc"><code>mpmc::MpMcQueue</code></a>: A lock-free multiple-producer, multiple-consumer queue.</li>
|
||
<li><a href="spsc/index.html" title="mod heapless::spsc"><code>spsc::Queue</code></a>: A lock-free single-producer, single-consumer queue.</li>
|
||
</ul>
|
||
<h2 id="zeroize-support"><a class="doc-anchor" href="#zeroize-support">§</a>Zeroize Support</h2>
|
||
<p>The <code>zeroize</code> feature enables secure memory wiping for the data structures via the <a href="https://crates.io/crates/zeroize"><code>zeroize</code></a>
|
||
crate. Sensitive data can be properly erased from memory when no longer needed.</p>
|
||
<p>When zeroizing a container, all underlying memory (including unused portion of the containers)
|
||
is overwritten with zeros, length counters are reset, and the container is left in a valid but
|
||
empty state that can be reused.</p>
|
||
<p>Check the <a href="https://docs.rs/zeroize/">documentation of the zeroize crate</a> for more information.</p>
|
||
<h2 id="minimum-supported-rust-version-msrv"><a class="doc-anchor" href="#minimum-supported-rust-version-msrv">§</a>Minimum Supported Rust Version (MSRV)</h2>
|
||
<p>This crate does <em>not</em> have a Minimum Supported Rust Version (MSRV) and may make use of language
|
||
features and API in the standard library available in the latest stable Rust version.</p>
|
||
<p>In other words, changes in the Rust version requirement of this crate are not considered semver
|
||
breaking change and may occur in patch version releases.</p>
|
||
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.BinaryHeap"><code>pub use binary_heap::<a class="type" href="binary_heap/type.BinaryHeap.html" title="type heapless::binary_heap::BinaryHeap">BinaryHeap</a>;</code></dt><dt id="reexport.CString"><code>pub use c_string::<a class="struct" href="c_string/struct.CString.html" title="struct heapless::c_string::CString">CString</a>;</code></dt><dt id="reexport.Deque"><code>pub use deque::<a class="type" href="deque/type.Deque.html" title="type heapless::deque::Deque">Deque</a>;</code></dt><dt id="reexport.HistoryBuf"><code>pub use history_buf::<a class="type" href="history_buf/type.HistoryBuf.html" title="type heapless::history_buf::HistoryBuf">HistoryBuf</a>;</code></dt><dt id="reexport.OldestOrdered"><code>pub use history_buf::<a class="struct" href="history_buf/struct.OldestOrdered.html" title="struct heapless::history_buf::OldestOrdered">OldestOrdered</a>;</code></dt><dt id="reexport.IndexMap"><code>pub use index_map::<a class="struct" href="index_map/struct.IndexMap.html" title="struct heapless::index_map::IndexMap">IndexMap</a>;</code></dt><dt id="reexport.IndexSet"><code>pub use index_set::<a class="struct" href="index_set/struct.IndexSet.html" title="struct heapless::index_set::IndexSet">IndexSet</a>;</code></dt><dt id="reexport.LinearMap"><code>pub use linear_map::<a class="type" href="linear_map/type.LinearMap.html" title="type heapless::linear_map::LinearMap">LinearMap</a>;</code></dt><dt id="reexport.String"><code>pub use string::<a class="type" href="string/type.String.html" title="type heapless::string::String">String</a>;</code></dt><dt id="reexport.Vec"><code>pub use vec::<a class="type" href="vec/type.Vec.html" title="type heapless::vec::Vec">Vec</a>;</code></dt><dt id="reexport.VecView"><code>pub use vec::<a class="type" href="vec/type.VecView.html" title="type heapless::vec::VecView">VecView</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="binary_heap/index.html" title="mod heapless::binary_heap">binary_<wbr>heap</a></dt><dd>A priority queue implemented with a binary heap.</dd><dt><a class="mod" href="c_string/index.html" title="mod heapless::c_string">c_<wbr>string</a></dt><dd>A fixed capacity <a href="https://doc.rust-lang.org/std/ffi/struct.CString.html"><code>CString</code></a>.</dd><dt><a class="mod" href="deque/index.html" title="mod heapless::deque">deque</a></dt><dd>A fixed capacity double-ended queue.</dd><dt><a class="mod" href="history_buf/index.html" title="mod heapless::history_buf">history_<wbr>buf</a></dt><dd>A “history buffer”, similar to a write-only ring buffer of fixed length.</dd><dt><a class="mod" href="index_map/index.html" title="mod heapless::index_map">index_<wbr>map</a></dt><dd>A fixed-capacity hash table where the iteration order is independent of the hash of the keys.</dd><dt><a class="mod" href="index_set/index.html" title="mod heapless::index_set">index_<wbr>set</a></dt><dd>A fixed-capacity hash set where the iteration order is independent of the hash values.</dd><dt><a class="mod" href="linear_map/index.html" title="mod heapless::linear_map">linear_<wbr>map</a></dt><dd>A fixed capacity map/dictionary that performs lookups via linear search.</dd><dt><a class="mod" href="mpmc/index.html" title="mod heapless::mpmc">mpmc</a></dt><dd>A fixed capacity multiple-producer, multiple-consumer (MPMC) lock-free queue.</dd><dt><a class="mod" href="sorted_linked_list/index.html" title="mod heapless::sorted_linked_list">sorted_<wbr>linked_<wbr>list</a></dt><dd>A fixed sorted priority linked list, similar to <a href="binary_heap/type.BinaryHeap.html" title="type heapless::binary_heap::BinaryHeap"><code>BinaryHeap</code></a> but with different properties
|
||
on <code>push</code>, <code>pop</code>, etc.</dd><dt><a class="mod" href="spsc/index.html" title="mod heapless::spsc">spsc</a></dt><dd>A fixed capacity single-producer, single-consumer (SPSC) lock-free queue.</dd><dt><a class="mod" href="storage/index.html" title="mod heapless::storage">storage</a></dt><dd><code>Storage</code> trait defining how data is stored in a container.</dd><dt><a class="mod" href="string/index.html" title="mod heapless::string">string</a></dt><dd>A fixed capacity <a href="https://doc.rust-lang.org/std/string/struct.String.html"><code>String</code></a>.</dd><dt><a class="mod" href="vec/index.html" title="mod heapless::vec">vec</a></dt><dd>A fixed capacity <a href="https://doc.rust-lang.org/std/vec/struct.Vec.html"><code>Vec</code></a>.</dd></dl><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.format.html" title="macro heapless::format">format</a></dt><dd>Macro that creates a fixed capacity <a href="string/type.String.html" title="type heapless::string::String"><code>String</code></a>. Equivalent to <a href="https://doc.rust-lang.org/std/macro.format.html"><code>format!</code></a>.</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.CapacityError.html" title="struct heapless::CapacityError">Capacity<wbr>Error</a></dt><dd>The error type for fallible <a href="vec/type.Vec.html" title="type heapless::vec::Vec"><code>Vec</code></a> and <a href="string/type.String.html" title="type heapless::string::String"><code>String</code></a> methods.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.LenType.html" title="trait heapless::LenType">LenType</a></dt><dd>A sealed trait representing a valid type to use as a length for a container.</dd></dl><script type="text/json" id="notable-traits-data">{"Difference<'a, T, S2, N2>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_set/struct.Difference.html\" title=\"struct heapless::index_set::Difference\">Difference</a><'a, T, S, N></code></h3><pre><code><div class=\"where\">impl<'a, T, S, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_set/struct.Difference.html\" title=\"struct heapless::index_set::Difference\">Difference</a><'a, T, S, N><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/hash/trait.BuildHasher.html\" title=\"trait core::hash::BuildHasher\">BuildHasher</a>,\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Drain<'_, LenT>":"<h3>Notable traits for <code><a class=\"struct\" href=\"string/struct.Drain.html\" title=\"struct heapless::string::Drain\">Drain</a><'_, LenT></code></h3><pre><code><div class=\"where\">impl<LenT: <a class=\"trait\" href=\"trait.LenType.html\" title=\"trait heapless::LenType\">LenType</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"string/struct.Drain.html\" title=\"struct heapless::string::Drain\">Drain</a><'_, LenT></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.char.html\">char</a>;</div>","Drain<'_, T, LenT>":"<h3>Notable traits for <code><a class=\"struct\" href=\"vec/struct.Drain.html\" title=\"struct heapless::vec::Drain\">Drain</a><'_, T, LenT></code></h3><pre><code><div class=\"where\">impl<T, LenT: <a class=\"trait\" href=\"trait.LenType.html\" title=\"trait heapless::LenType\">LenType</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"vec/struct.Drain.html\" title=\"struct heapless::vec::Drain\">Drain</a><'_, T, LenT></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = T;</div>","Intersection<'a, T, S2, N2>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_set/struct.Intersection.html\" title=\"struct heapless::index_set::Intersection\">Intersection</a><'a, T, S, N></code></h3><pre><code><div class=\"where\">impl<'a, T, S, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_set/struct.Intersection.html\" title=\"struct heapless::index_set::Intersection\">Intersection</a><'a, T, S, N><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/hash/trait.BuildHasher.html\" title=\"trait core::hash::BuildHasher\">BuildHasher</a>,\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Iter<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_map/struct.Iter.html\" title=\"struct heapless::index_map::Iter\">Iter</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_map/struct.Iter.html\" title=\"struct heapless::index_map::Iter\">Iter</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a V</a>);</div>","Iter<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"linear_map/struct.Iter.html\" title=\"struct heapless::linear_map::Iter\">Iter</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"linear_map/struct.Iter.html\" title=\"struct heapless::linear_map::Iter\">Iter</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a V</a>);</div>","Iter<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"deque/struct.Iter.html\" title=\"struct heapless::deque::Iter\">Iter</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"deque/struct.Iter.html\" title=\"struct heapless::deque::Iter\">Iter</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Iter<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_set/struct.Iter.html\" title=\"struct heapless::index_set::Iter\">Iter</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_set/struct.Iter.html\" title=\"struct heapless::index_set::Iter\">Iter</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Iter<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"spsc/struct.Iter.html\" title=\"struct heapless::spsc::Iter\">Iter</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"spsc/struct.Iter.html\" title=\"struct heapless::spsc::Iter\">Iter</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","IterMut<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_map/struct.IterMut.html\" title=\"struct heapless::index_map::IterMut\">IterMut</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_map/struct.IterMut.html\" title=\"struct heapless::index_map::IterMut\">IterMut</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a mut V</a>);</div>","IterMut<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"linear_map/struct.IterMut.html\" title=\"struct heapless::linear_map::IterMut\">IterMut</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"linear_map/struct.IterMut.html\" title=\"struct heapless::linear_map::IterMut\">IterMut</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a mut V</a>);</div>","IterMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"deque/struct.IterMut.html\" title=\"struct heapless::deque::IterMut\">IterMut</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"deque/struct.IterMut.html\" title=\"struct heapless::deque::IterMut\">IterMut</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a mut T</a>;</div>","IterMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"spsc/struct.IterMut.html\" title=\"struct heapless::spsc::IterMut\">IterMut</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"spsc/struct.IterMut.html\" title=\"struct heapless::spsc::IterMut\">IterMut</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a mut T</a>;</div>","IterView<'_, T, Idx, K>":"<h3>Notable traits for <code><a class=\"struct\" href=\"sorted_linked_list/struct.IterView.html\" title=\"struct heapless::sorted_linked_list::IterView\">IterView</a><'a, T, Idx, K></code></h3><pre><code><div class=\"where\">impl<'a, T, Idx, K> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"sorted_linked_list/struct.IterView.html\" title=\"struct heapless::sorted_linked_list::IterView\">IterView</a><'a, T, Idx, K><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Idx: <a class=\"trait\" href=\"trait.LenType.html\" title=\"trait heapless::LenType\">LenType</a>,\n K: <a class=\"trait\" href=\"sorted_linked_list/trait.Kind.html\" title=\"trait heapless::sorted_linked_list::Kind\">Kind</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Keys<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_map/struct.Keys.html\" title=\"struct heapless::index_map::Keys\">Keys</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_map/struct.Keys.html\" title=\"struct heapless::index_map::Keys\">Keys</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a K</a>;</div>","OldestOrdered<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"history_buf/struct.OldestOrdered.html\" title=\"struct heapless::history_buf::OldestOrdered\">OldestOrdered</a><'a, T></code></h3><pre><code><div class=\"where\">impl<'a, T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"history_buf/struct.OldestOrdered.html\" title=\"struct heapless::history_buf::OldestOrdered\">OldestOrdered</a><'a, T></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a T</a>;</div>","Values<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_map/struct.Values.html\" title=\"struct heapless::index_map::Values\">Values</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_map/struct.Values.html\" title=\"struct heapless::index_map::Values\">Values</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a V</a>;</div>","ValuesMut<'_, K, V>":"<h3>Notable traits for <code><a class=\"struct\" href=\"index_map/struct.ValuesMut.html\" title=\"struct heapless::index_map::ValuesMut\">ValuesMut</a><'a, K, V></code></h3><pre><code><div class=\"where\">impl<'a, K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"index_map/struct.ValuesMut.html\" title=\"struct heapless::index_map::ValuesMut\">ValuesMut</a><'a, K, V></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.91.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&'a mut V</a>;</div>"}</script></section></div></main></body></html> |