rtic/stable/api/heapless/index.html
github-merge-queue[bot] e04fb16c1b deploy: bbc37ca3fe
2025-11-12 19:06:49 +00:00

64 lines
No EOL
32 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="`static` friendly data structures that dont 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>&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/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 dont 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 cant 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&lt;u8, <span class="number">8</span>&gt; = 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&lt;u8, <span class="number">8</span>&gt; = Vec::new();
<span class="kw">let </span>xs = <span class="kw">unsafe </span>{ <span class="kw-2">&amp;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&lt;Vec&lt;u8, <span class="number">8</span>&gt;&gt; = 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 dont 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 dont use a memory allocator which means no risk of an uncatchable
Out Of Memory (OOM) condition while performing operations on them. Its 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>&lt;'a, T, S, N&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, S, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.usize.html\">usize</a>&gt; <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>&lt;'a, T, S, N&gt;<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\">&amp;'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>&lt;'_, LenT&gt;</code></h3><pre><code><div class=\"where\">impl&lt;LenT: <a class=\"trait\" href=\"trait.LenType.html\" title=\"trait heapless::LenType\">LenType</a>&gt; <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>&lt;'_, LenT&gt;</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>&lt;'_, T, LenT&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T, LenT: <a class=\"trait\" href=\"trait.LenType.html\" title=\"trait heapless::LenType\">LenType</a>&gt; <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>&lt;'_, T, LenT&gt;</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>&lt;'a, T, S, N&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, S, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.usize.html\">usize</a>&gt; <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>&lt;'a, T, S, N&gt;<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\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.91.1/core/primitive.reference.html\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, T, Idx, K&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, Idx, K&gt; <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>&lt;'a, T, Idx, K&gt;<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\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'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>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <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>&lt;'a, T&gt;</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\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'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>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <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>&lt;'a, K, V&gt;</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\">&amp;'a mut V</a>;</div>"}</script></section></div></main></body></html>