(function() {var type_impls = {
"bdk_chain":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Iter<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IterMut<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Keys<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Values<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"ValuesMut<'_, K, V>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"Range<'_, K, V>\">ⓘ</a><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"RangeMut<'_, K, V>\">ⓘ</a><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"ExtractIf<'_, K, V, F, A>\">ⓘ</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoKeys<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoValues<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><a href=\"#method.clone\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\" class=\"fn\">clone</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone_from\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169\">source</a></span><a href=\"#method.clone_from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\" class=\"fn\">clone_from</a>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\">Read more</a></div></details></div></details>","Clone","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\">Read more</a></div></details></div></details>","Debug","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V>, <D as <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserializer.html#associatedtype.Error\" title=\"type bdk_chain::bitcoin::hashes::serde::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><a href=\"#method.hash\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\" class=\"fn\">hash</a><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash_slice\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.3.0\">1.3.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240\">source</a></span><a href=\"#method.hash_slice\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\" class=\"fn\">hash_slice</a><H>(data: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[Self]</a>, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\">Read more</a></div></details></div></details>","Hash","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.Error.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"bdk_chain/bitcoin/hashes/serde/de/value/struct.MapDeserializer.html\" title=\"struct bdk_chain::bitcoin::hashes::serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"bdk_chain/bitcoin/hashes/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type bdk_chain::bitcoin::hashes::serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A> <a href=\"#\" class=\"tooltip\" data-notable-ty=\"IntoIter<K, V, A>\">ⓘ</a></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#143-153\">source</a><a href=\"#impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>, V> <a class=\"trait\" href=\"bdk_chain/trait.Merge.html\" title=\"trait bdk_chain::Merge\">Merge</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.merge\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#144-148\">source</a><a href=\"#method.merge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Merge.html#tymethod.merge\" class=\"fn\">merge</a>(&mut self, other: Self)</h4></section></summary><div class='docblock'>Merge another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#150-152\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Merge.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#134-140\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/trait.Merge.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Merge","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><a href=\"#method.eq\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq\" class=\"fn\">eq</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used\nby <code>==</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ne\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263\">source</a></span><a href=\"#method.ne\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne\" class=\"fn\">ne</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><a href=\"#method.partial_cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\" class=\"fn\">partial_cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179\">source</a></span><a href=\"#method.lt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\" class=\"fn\">lt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.le\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197\">source</a></span><a href=\"#method.le\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\" class=\"fn\">le</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.gt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214\">source</a></span><a href=\"#method.gt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\" class=\"fn\">gt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ge\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232\">source</a></span><a href=\"#method.ge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\" class=\"fn\">ge</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serialize\">Serialize</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serialize.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/bitcoin/hashes/serde/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serializer.html#associatedtype.Ok\" title=\"type bdk_chain::bitcoin::hashes::serde::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serializer.html#associatedtype.Error\" title=\"type bdk_chain::bitcoin::hashes::serde::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"bdk_chain/bitcoin/hashes/serde/trait.Serializer.html\" title=\"trait bdk_chain::bitcoin::hashes::serde::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"bdk_chain/bitcoin/hashes/serde/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section>","Eq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,</div></h3></section>","UnwindSafe","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"]],
-"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><a href=\"#method.clone\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\" class=\"fn\">clone</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone_from\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169\">source</a></span><a href=\"#method.clone_from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\" class=\"fn\">clone_from</a>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\">Read more</a></div></details></div></details>","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\">Read more</a></div></details></div></details>","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><a href=\"#method.hash\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\" class=\"fn\">hash</a><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash_slice\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.3.0\">1.3.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240\">source</a></span><a href=\"#method.hash_slice\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\" class=\"fn\">hash_slice</a><H>(data: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[Self]</a>, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\">Read more</a></div></details></div></details>","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"impl\"><a href=\"#impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl IntoAssets for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_assets\" class=\"method trait-impl\"><a href=\"#method.into_assets\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">into_assets</a>(self) -> Assets</h4></section></summary><div class='docblock'>Convert <code>self</code> into a <code>Assets</code> struct</div></details></div></details>","IntoAssets","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Error.html\" title=\"trait serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"https://docs.rs/serde/1.0.209/serde/de/value/struct.MapDeserializer.html\" title=\"struct serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a href=\"#impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> Merge for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.merge\" class=\"method trait-impl\"><a href=\"#method.merge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">merge</a>(&mut self, other: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V>)</h4></section></summary><div class='docblock'>Merge another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><a href=\"#method.eq\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq\" class=\"fn\">eq</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used\nby <code>==</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ne\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263\">source</a></span><a href=\"#method.ne\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne\" class=\"fn\">ne</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><a href=\"#method.partial_cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\" class=\"fn\">partial_cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179\">source</a></span><a href=\"#method.lt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\" class=\"fn\">lt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.le\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197\">source</a></span><a href=\"#method.le\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\" class=\"fn\">le</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.gt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214\">source</a></span><a href=\"#method.gt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\" class=\"fn\">gt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ge\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232\">source</a></span><a href=\"#method.ge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\" class=\"fn\">ge</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section>","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,</div></h3></section>","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]
+"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#610\">source</a><a href=\"#impl-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const since 1.66.0\">1.0.0 (const: 1.66.0)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#629\">source</a></span><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new\" class=\"fn\">new</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Makes a new, empty <code>BTreeMap</code>.</p>\n<p>Does not allocate anything on its own.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2359\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2380\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter\" class=\"fn\">iter</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Iter.html\" title=\"struct alloc::collections::btree::map::Iter\">Iter</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter() {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n\n<span class=\"kw\">let </span>(first_key, first_value) = map.iter().next().unwrap();\n<span class=\"macro\">assert_eq!</span>((<span class=\"kw-2\">*</span>first_key, <span class=\"kw-2\">*</span>first_value), (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.iter_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2411\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.iter_mut\" class=\"fn\">iter_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IterMut.html\" title=\"struct alloc::collections::btree::map::IterMut\">IterMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the entries of the map, sorted by key.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"string\">\"a\"</span>, <span class=\"number\">1</span>),\n (<span class=\"string\">\"b\"</span>, <span class=\"number\">2</span>),\n (<span class=\"string\">\"c\"</span>, <span class=\"number\">3</span>),\n]);\n\n<span class=\"comment\">// add 10 to the value if the key isn't \"a\"\n</span><span class=\"kw\">for </span>(key, value) <span class=\"kw\">in </span>map.iter_mut() {\n <span class=\"kw\">if </span>key != <span class=\"kw-2\">&</span><span class=\"string\">\"a\" </span>{\n <span class=\"kw-2\">*</span>value += <span class=\"number\">10</span>;\n }\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2436\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.keys\" class=\"fn\">keys</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Keys.html\" title=\"struct alloc::collections::btree::map::Keys\">Keys</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the keys of the map, in sorted order.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<<span class=\"kw\">_</span>> = a.keys().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2455\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values\" class=\"fn\">values</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Values.html\" title=\"struct alloc::collections::btree::map::Values\">Values</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets an iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.values_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.10.0\">1.10.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2479\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.values_mut\" class=\"fn\">values_mut</a>(&mut self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ValuesMut.html\" title=\"struct alloc::collections::btree::map::ValuesMut\">ValuesMut</a><'_, K, V></h4></section></summary><div class=\"docblock\"><p>Gets a mutable iterator over the values of the map, in order by key.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, String::from(<span class=\"string\">\"hello\"</span>));\na.insert(<span class=\"number\">2</span>, String::from(<span class=\"string\">\"goodbye\"</span>));\n\n<span class=\"kw\">for </span>value <span class=\"kw\">in </span>a.values_mut() {\n value.push_str(<span class=\"string\">\"!\"</span>);\n}\n\n<span class=\"kw\">let </span>values: Vec<String> = a.values().cloned().collect();\n<span class=\"macro\">assert_eq!</span>(values, [String::from(<span class=\"string\">\"hello!\"</span>),\n String::from(<span class=\"string\">\"goodbye!\"</span>)]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.len\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2503\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.len\" class=\"fn\">len</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a></h4></section></summary><div class=\"docblock\"><p>Returns the number of elements in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">0</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0, const unstable\">1.0.0 (const: <a href=\"https://github.com/rust-lang/rust/issues/71835\" title=\"Tracking issue for const_btree_len\">unstable</a>)</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2526\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains no elements.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\n<span class=\"macro\">assert!</span>(a.is_empty());\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert!</span>(!a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2570-2573\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound\" class=\"fn\">lower_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.lower_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lower_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2623-2626\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.lower_bound_mut\" class=\"fn\">lower_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap before the smallest key\ngreater than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap before the smallest key greater than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap before the smallest key in the map.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">2</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.lower_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2693-2696\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound\" class=\"fn\">upper_bound</a><Q>(&self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\">Cursor</a><'_, K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Cursor.html\" title=\"struct alloc::collections::btree::map::Cursor\"><code>Cursor</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span>cursor = map.upper_bound(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.upper_bound_mut\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2746-2749\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.upper_bound_mut\" class=\"fn\">upper_bound_mut</a><Q>(&mut self, bound: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/enum.Bound.html\" title=\"enum core::ops::range::Bound\">Bound</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\">CursorMut</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_cursors</code>)</span></div></span></summary><div class=\"docblock\"><p>Returns a <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.CursorMut.html\" title=\"struct alloc::collections::btree::map::CursorMut\"><code>CursorMut</code></a> pointing at the gap after the greatest key\nsmaller than the given bound.</p>\n<p>Passing <code>Bound::Included(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than or equal to <code>x</code>.</p>\n<p>Passing <code>Bound::Excluded(x)</code> will return a cursor pointing to the\ngap after the greatest key smaller than <code>x</code>.</p>\n<p>Passing <code>Bound::Unbounded</code> will return a cursor pointing to the\ngap after the greatest key in the map.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_cursors)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::from([\n (<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>),\n (<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>),\n (<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>),\n (<span class=\"number\">4</span>, <span class=\"string\">\"d\"</span>),\n]);\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Included(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Excluded(<span class=\"kw-2\">&</span><span class=\"number\">3</span>));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"b\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">3</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"c\"</span>)));\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>cursor = map.upper_bound_mut(Bound::Unbounded);\n<span class=\"macro\">assert_eq!</span>(cursor.peek_prev(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">4</span>, <span class=\"kw-2\">&mut </span><span class=\"string\">\"d\"</span>)));\n<span class=\"macro\">assert_eq!</span>(cursor.peek_next(), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#634\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clear\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#648\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.clear\" class=\"fn\">clear</a>(&mut self)</h4></section></summary><div class=\"docblock\"><p>Clears the map, removing all elements.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.clear();\n<span class=\"macro\">assert!</span>(a.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_in\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#674\">source</a><h4 class=\"code-header\">pub const fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.new_in\" class=\"fn\">new_in</a>(alloc: A) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btreemap_alloc</code>)</span></div></span></summary><div class=\"docblock\"><p>Makes a new empty BTreeMap with a reasonable choice for B.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::alloc::Global;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new_in(Global);\n\n<span class=\"comment\">// entries can now be inserted into the empty map\n</span>map.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#679\">source</a><a href=\"#impl-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.get\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#696-699\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get\" class=\"fn\">get</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.40.0\">1.40.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#724-727\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_key_value\" class=\"fn\">get_key_value</a><Q>(&self, k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the key-value pair corresponding to the supplied key.</p>\n<p>The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-1\"><a class=\"doc-anchor\" href=\"#examples-1\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.get_key_value(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#751-753\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_key_value\" class=\"fn\">first_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.</p>\n<h5 id=\"examples-2\"><a class=\"doc-anchor\" href=\"#examples-2\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">None</span>);\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.first_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">1</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.first_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#779-781\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.first_entry\" class=\"fn\">first_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.</p>\n<h5 id=\"examples-3\"><a class=\"doc-anchor\" href=\"#examples-3\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.first_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"first\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"first\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_first\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#813-815\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_first\" class=\"fn\">pop_first</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.</p>\n<h5 id=\"examples-4\"><a class=\"doc-anchor\" href=\"#examples-4\">§</a>Examples</h5>\n<p>Draining elements in ascending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_first() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k > key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_key_value\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#834-836\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_key_value\" class=\"fn\">last_key_value</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a>)><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.</p>\n<h5 id=\"examples-5\"><a class=\"doc-anchor\" href=\"#examples-5\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.last_key_value(), <span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">2</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>)));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.last_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#862-864\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.last_entry\" class=\"fn\">last_entry</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedEntry\">OccupiedEntry</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.</p>\n<h5 id=\"examples-6\"><a class=\"doc-anchor\" href=\"#examples-6\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(<span class=\"kw-2\">mut </span>entry) = map.last_entry() {\n <span class=\"kw\">if </span><span class=\"kw-2\">*</span>entry.key() > <span class=\"number\">0 </span>{\n entry.insert(<span class=\"string\">\"last\"</span>);\n }\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">1</span>).unwrap(), <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(<span class=\"kw-2\">*</span>map.get(<span class=\"kw-2\">&</span><span class=\"number\">2</span>).unwrap(), <span class=\"string\">\"last\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.pop_last\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.66.0\">1.66.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#896-898\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.pop_last\" class=\"fn\">pop_last</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.</p>\n<h5 id=\"examples-7\"><a class=\"doc-anchor\" href=\"#examples-7\">§</a>Examples</h5>\n<p>Draining elements in descending order, while keeping a usable map each iteration.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"kw\">while let </span><span class=\"prelude-val\">Some</span>((key, _val)) = map.pop_last() {\n <span class=\"macro\">assert!</span>(map.iter().all(|(k, _v)| <span class=\"kw-2\">*</span>k < key));\n}\n<span class=\"macro\">assert!</span>(map.is_empty());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.contains_key\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#919-922\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.contains_key\" class=\"fn\">contains_key</a><Q>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns <code>true</code> if the map contains a value for the specified key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-8\"><a class=\"doc-anchor\" href=\"#examples-8\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"bool-val\">true</span>);\n<span class=\"macro\">assert_eq!</span>(map.contains_key(<span class=\"kw-2\">&</span><span class=\"number\">2</span>), <span class=\"bool-val\">false</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#946-949\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.get_mut\" class=\"fn\">get_mut</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a mutable reference to the value corresponding to the key.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-9\"><a class=\"doc-anchor\" href=\"#examples-9\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"kw\">if let </span><span class=\"prelude-val\">Some</span>(x) = map.get_mut(<span class=\"kw-2\">&</span><span class=\"number\">1</span>) {\n <span class=\"kw-2\">*</span>x = <span class=\"string\">\"b\"</span>;\n}\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.insert\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#984-986\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.insert\" class=\"fn\">insert</a>(&mut self, key: K, value: V) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Inserts a key-value pair into the map.</p>\n<p>If the map did not have this key present, <code>None</code> is returned.</p>\n<p>If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be <code>==</code> without being identical. See the <a href=\"index.html#insert-and-complex-keys\">module-level\ndocumentation</a> for more.</p>\n<h5 id=\"examples-10\"><a class=\"doc-anchor\" href=\"#examples-10\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>), <span class=\"prelude-val\">None</span>);\n<span class=\"macro\">assert_eq!</span>(map.is_empty(), <span class=\"bool-val\">false</span>);\n\nmap.insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.insert(<span class=\"number\">37</span>, <span class=\"string\">\"c\"</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"b\"</span>));\n<span class=\"macro\">assert_eq!</span>(map[<span class=\"kw-2\">&</span><span class=\"number\">37</span>], <span class=\"string\">\"c\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.try_insert\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1019-1021\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.try_insert\" class=\"fn\">try_insert</a>(\n &mut self,\n key: K,\n value: V\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/struct.OccupiedError.html\" title=\"struct alloc::collections::btree::map::entry::OccupiedError\">OccupiedError</a><'_, K, V, A>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>map_try_insert</code>)</span></div></span></summary><div class=\"docblock\"><p>Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.</p>\n<p>If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.</p>\n<h5 id=\"examples-11\"><a class=\"doc-anchor\" href=\"#examples-11\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(map_try_insert)]\n\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\n<span class=\"macro\">assert_eq!</span>(map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"a\"</span>).unwrap(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>err = map.try_insert(<span class=\"number\">37</span>, <span class=\"string\">\"b\"</span>).unwrap_err();\n<span class=\"macro\">assert_eq!</span>(err.entry.key(), <span class=\"kw-2\">&</span><span class=\"number\">37</span>);\n<span class=\"macro\">assert_eq!</span>(err.entry.get(), <span class=\"kw-2\">&</span><span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(err.value, <span class=\"string\">\"b\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1047-1050\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove\" class=\"fn\">remove</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the value at the key if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-12\"><a class=\"doc-anchor\" href=\"#examples-12\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>(<span class=\"string\">\"a\"</span>));\n<span class=\"macro\">assert_eq!</span>(map.remove(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.remove_entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.45.0\">1.45.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1072-1075\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.remove_entry\" class=\"fn\">remove_entry</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class=\"docblock\"><p>Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.</p>\n<p>The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form <em>must</em> match the ordering on the key type.</p>\n<h5 id=\"examples-13\"><a class=\"doc-anchor\" href=\"#examples-13\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">Some</span>((<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>)));\n<span class=\"macro\">assert_eq!</span>(map.remove_entry(<span class=\"kw-2\">&</span><span class=\"number\">1</span>), <span class=\"prelude-val\">None</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.retain\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.53.0\">1.53.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1110-1113\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.retain\" class=\"fn\">retain</a><F>(&mut self, f: F)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class=\"docblock\"><p>Retains only the elements specified by the predicate.</p>\n<p>In other words, remove all pairs <code>(k, v)</code> for which <code>f(&k, &mut v)</code> returns <code>false</code>.\nThe elements are visited in ascending key order.</p>\n<h5 id=\"examples-14\"><a class=\"doc-anchor\" href=\"#examples-14\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x<span class=\"kw-2\">*</span><span class=\"number\">10</span>)).collect();\n<span class=\"comment\">// Keep only the elements with even-numbered keys.\n</span>map.retain(|<span class=\"kw-2\">&</span>k, <span class=\"kw\">_</span>| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>);\n<span class=\"macro\">assert!</span>(map.into_iter().eq(<span class=\"macro\">vec!</span>[(<span class=\"number\">0</span>, <span class=\"number\">0</span>), (<span class=\"number\">2</span>, <span class=\"number\">20</span>), (<span class=\"number\">4</span>, <span class=\"number\">40</span>), (<span class=\"number\">6</span>, <span class=\"number\">60</span>)]));</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.append\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1150-1153\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.append\" class=\"fn\">append</a>(&mut self, other: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>)<div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Moves all elements from <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>\n<p>If a key from <code>other</code> is already present in <code>self</code>, the respective\nvalue from <code>self</code> will be overwritten with the respective value from <code>other</code>.</p>\n<h5 id=\"examples-15\"><a class=\"doc-anchor\" href=\"#examples-15\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>); <span class=\"comment\">// Note: Key (3) also present in b.\n\n</span><span class=\"kw\">let </span><span class=\"kw-2\">mut </span>b = BTreeMap::new();\nb.insert(<span class=\"number\">3</span>, <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: Key (3) also present in a.\n</span>b.insert(<span class=\"number\">4</span>, <span class=\"string\">\"e\"</span>);\nb.insert(<span class=\"number\">5</span>, <span class=\"string\">\"f\"</span>);\n\na.append(<span class=\"kw-2\">&mut </span>b);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">5</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">0</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"d\"</span>); <span class=\"comment\">// Note: \"c\" has been overwritten.\n</span><span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">4</span>], <span class=\"string\">\"e\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">5</span>], <span class=\"string\">\"f\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1205-1209\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range\" class=\"fn\">range</a><T, R>(&self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.Range.html\" title=\"struct alloc::collections::btree::map::Range\">Range</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-16\"><a class=\"doc-anchor\" href=\"#examples-16\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n<span class=\"kw\">use </span>std::ops::Bound::Included;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map = BTreeMap::new();\nmap.insert(<span class=\"number\">3</span>, <span class=\"string\">\"a\"</span>);\nmap.insert(<span class=\"number\">5</span>, <span class=\"string\">\"b\"</span>);\nmap.insert(<span class=\"number\">8</span>, <span class=\"string\">\"c\"</span>);\n<span class=\"kw\">for </span>(<span class=\"kw-2\">&</span>key, <span class=\"kw-2\">&</span>value) <span class=\"kw\">in </span>map.range((Included(<span class=\"kw-2\">&</span><span class=\"number\">4</span>), Included(<span class=\"kw-2\">&</span><span class=\"number\">8</span>))) {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{key}: {value}\"</span>);\n}\n<span class=\"macro\">assert_eq!</span>(<span class=\"prelude-val\">Some</span>((<span class=\"kw-2\">&</span><span class=\"number\">5</span>, <span class=\"kw-2\">&</span><span class=\"string\">\"b\"</span>)), map.range(<span class=\"number\">4</span>..).next());</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.range_mut\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.17.0\">1.17.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1245-1249\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.range_mut\" class=\"fn\">range_mut</a><T, R>(&mut self, range: R) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.RangeMut.html\" title=\"struct alloc::collections::btree::map::RangeMut\">RangeMut</a><'_, K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><T> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n R: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html\" title=\"trait core::ops::range::RangeBounds\">RangeBounds</a><T>,</div></h4></section></summary><div class=\"docblock\"><p>Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax <code>min..max</code>, thus <code>range(min..max)</code> will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as <code>(Bound<T>, Bound<T>)</code>, so for example\n<code>range((Excluded(4), Included(10)))</code> will yield a left-exclusive, right-inclusive\nrange from 4 to 10.</p>\n<h5 id=\"panics-1\"><a class=\"doc-anchor\" href=\"#panics-1\">§</a>Panics</h5>\n<p>Panics if range <code>start > end</code>.\nPanics if range <code>start == end</code> and both bounds are <code>Excluded</code>.</p>\n<h5 id=\"examples-17\"><a class=\"doc-anchor\" href=\"#examples-17\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<<span class=\"kw-2\">&</span>str, i32> =\n [(<span class=\"string\">\"Alice\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Bob\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Carol\"</span>, <span class=\"number\">0</span>), (<span class=\"string\">\"Cheryl\"</span>, <span class=\"number\">0</span>)].into();\n<span class=\"kw\">for </span>(<span class=\"kw\">_</span>, balance) <span class=\"kw\">in </span>map.range_mut(<span class=\"string\">\"B\"</span>..<span class=\"string\">\"Cheryl\"</span>) {\n <span class=\"kw-2\">*</span>balance += <span class=\"number\">100</span>;\n}\n<span class=\"kw\">for </span>(name, balance) <span class=\"kw\">in </span><span class=\"kw-2\">&</span>map {\n <span class=\"macro\">println!</span>(<span class=\"string\">\"{name} => {balance}\"</span>);\n}</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.entry\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1277-1279\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.entry\" class=\"fn\">entry</a>(&mut self, key: K) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/entry/enum.Entry.html\" title=\"enum alloc::collections::btree::map::entry::Entry\">Entry</a><'_, K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h4></section></summary><div class=\"docblock\"><p>Gets the given key’s corresponding entry in the map for in-place manipulation.</p>\n<h5 id=\"examples-18\"><a class=\"doc-anchor\" href=\"#examples-18\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>count: BTreeMap<<span class=\"kw-2\">&</span>str, usize> = BTreeMap::new();\n\n<span class=\"comment\">// count the number of occurrences of letters in the vec\n</span><span class=\"kw\">for </span>x <span class=\"kw\">in </span>[<span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"c\"</span>, <span class=\"string\">\"a\"</span>, <span class=\"string\">\"b\"</span>] {\n count.entry(x).and_modify(|curr| <span class=\"kw-2\">*</span>curr += <span class=\"number\">1</span>).or_insert(<span class=\"number\">1</span>);\n}\n\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"a\"</span>], <span class=\"number\">3</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"b\"</span>], <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(count[<span class=\"string\">\"c\"</span>], <span class=\"number\">1</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.split_off\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.11.0\">1.11.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1336-1339\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.split_off\" class=\"fn\">split_off</a><Q>(&mut self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h4></section></summary><div class=\"docblock\"><p>Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.</p>\n<h5 id=\"examples-19\"><a class=\"doc-anchor\" href=\"#examples-19\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">3</span>, <span class=\"string\">\"c\"</span>);\na.insert(<span class=\"number\">17</span>, <span class=\"string\">\"d\"</span>);\na.insert(<span class=\"number\">41</span>, <span class=\"string\">\"e\"</span>);\n\n<span class=\"kw\">let </span>b = a.split_off(<span class=\"kw-2\">&</span><span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a.len(), <span class=\"number\">2</span>);\n<span class=\"macro\">assert_eq!</span>(b.len(), <span class=\"number\">3</span>);\n\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">1</span>], <span class=\"string\">\"a\"</span>);\n<span class=\"macro\">assert_eq!</span>(a[<span class=\"kw-2\">&</span><span class=\"number\">2</span>], <span class=\"string\">\"b\"</span>);\n\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">3</span>], <span class=\"string\">\"c\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">17</span>], <span class=\"string\">\"d\"</span>);\n<span class=\"macro\">assert_eq!</span>(b[<span class=\"kw-2\">&</span><span class=\"number\">41</span>], <span class=\"string\">\"e\"</span>);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_if\" class=\"method\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1391-1394\">source</a><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.extract_if\" class=\"fn\">extract_if</a><F>(&mut self, pred: F) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.ExtractIf.html\" title=\"struct alloc::collections::btree::map::ExtractIf\">ExtractIf</a><'_, K, V, F, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut V</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>btree_extract_if</code>)</span></div></span></summary><div class=\"docblock\"><p>Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns <code>true</code>, the element is removed from\nthe map and yielded. If the closure returns <code>false</code>, or panics, the\nelement remains in the map and will not be yielded.</p>\n<p>The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.</p>\n<p>If the returned <code>ExtractIf</code> is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.retain\" title=\"method alloc::collections::btree::map::BTreeMap::retain\"><code>retain</code></a> with a negated predicate if you do not need the returned iterator.</p>\n<h5 id=\"examples-20\"><a class=\"doc-anchor\" href=\"#examples-20\">§</a>Examples</h5>\n<p>Splitting a map into even and odd keys, reusing the original map:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"attr\">#![feature(btree_extract_if)]\n</span><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>map: BTreeMap<i32, i32> = (<span class=\"number\">0</span>..<span class=\"number\">8</span>).map(|x| (x, x)).collect();\n<span class=\"kw\">let </span>evens: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = map.extract_if(|k, _v| k % <span class=\"number\">2 </span>== <span class=\"number\">0</span>).collect();\n<span class=\"kw\">let </span>odds = map;\n<span class=\"macro\">assert_eq!</span>(evens.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">0</span>, <span class=\"number\">2</span>, <span class=\"number\">4</span>, <span class=\"number\">6</span>]);\n<span class=\"macro\">assert_eq!</span>(odds.keys().copied().collect::<Vec<<span class=\"kw\">_</span>>>(), [<span class=\"number\">1</span>, <span class=\"number\">3</span>, <span class=\"number\">5</span>, <span class=\"number\">7</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_keys\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1445\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_keys\" class=\"fn\">into_keys</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoKeys.html\" title=\"struct alloc::collections::btree::map::IntoKeys\">IntoKeys</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is <code>K</code>.</p>\n<h5 id=\"examples-21\"><a class=\"doc-anchor\" href=\"#examples-21\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"b\"</span>);\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"a\"</span>);\n\n<span class=\"kw\">let </span>keys: Vec<i32> = a.into_keys().collect();\n<span class=\"macro\">assert_eq!</span>(keys, [<span class=\"number\">1</span>, <span class=\"number\">2</span>]);</code></pre></div>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_values\" class=\"method\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.54.0\">1.54.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1467\">source</a></span><h4 class=\"code-header\">pub fn <a href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#tymethod.into_values\" class=\"fn\">into_values</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoValues.html\" title=\"struct alloc::collections::btree::map::IntoValues\">IntoValues</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is <code>V</code>.</p>\n<h5 id=\"examples-22\"><a class=\"doc-anchor\" href=\"#examples-22\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span><span class=\"kw-2\">mut </span>a = BTreeMap::new();\na.insert(<span class=\"number\">1</span>, <span class=\"string\">\"hello\"</span>);\na.insert(<span class=\"number\">2</span>, <span class=\"string\">\"goodbye\"</span>);\n\n<span class=\"kw\">let </span>values: Vec<<span class=\"kw-2\">&</span>str> = a.into_values().collect();\n<span class=\"macro\">assert_eq!</span>(values, [<span class=\"string\">\"hello\"</span>, <span class=\"string\">\"goodbye\"</span>]);</code></pre></div>\n</div></details></div></details>",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#207\">source</a></span><a href=\"#impl-Clone-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#208\">source</a><a href=\"#method.clone\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\" class=\"fn\">clone</a>(&self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone_from\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169\">source</a></span><a href=\"#method.clone_from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\" class=\"fn\">clone_from</a>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\">Read more</a></div></details></div></details>","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2312\">source</a></span><a href=\"#impl-Debug-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2313\">source</a><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\">Read more</a></div></details></div></details>","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2278\">source</a></span><a href=\"#impl-Default-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.default\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2280\">source</a><a href=\"#method.default\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default\" class=\"fn\">default</a>() -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Creates an empty <code>BTreeMap</code>.</p>\n</div></details></div></details>","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#impl-Deserialize%3C'de%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/impls.rs.html#1568-1574\">source</a><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.7.0\">1.7.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#187\">source</a></span><a href=\"#impl-Drop-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.drop\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#188\">source</a><a href=\"#method.drop\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\" class=\"fn\">drop</a>(&mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href=\"https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop\">Read more</a></div></details></div></details>","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.2.0\">1.2.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2254-2255\">source</a></span><a href=\"#impl-Extend%3C(%26K,+%26V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'a, K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2257\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><I>(&mut self, iter: I)<div class=\"where\">where\n I: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>)>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2262\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: (<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a V</a>))</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2239\">source</a></span><a href=\"#impl-Extend%3C(K,+V)%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html\" title=\"trait core::iter::traits::collect::Extend\">Extend</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2241\">source</a><a href=\"#method.extend\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\" class=\"fn\">extend</a><T>(&mut self, iter: T)<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_one\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2248\">source</a><a href=\"#method.extend_one\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one\" class=\"fn\">extend_one</a>(&mut self, _: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.extend_reserve\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#460\">source</a><a href=\"#method.extend_reserve\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\" class=\"fn\">extend_reserve</a>(&mut self, additional: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>)</h4></section></summary><span class=\"item-info\"><div class=\"stab unstable\"><span class=\"emoji\">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve\">Read more</a></div></details></div></details>","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.56.0\">1.56.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2338\">source</a></span><a href=\"#impl-From%3C%5B(K,+V);+N%5D%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2348\">source</a><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(arr: [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">N</a>]) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V></h4></section></summary><div class=\"docblock\"><p>Converts a <code>[(K, V); N]</code> into a <code>BTreeMap<(K, V)></code>.</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>std::collections::BTreeMap;\n\n<span class=\"kw\">let </span>map1 = BTreeMap::from([(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)]);\n<span class=\"kw\">let </span>map2: BTreeMap<<span class=\"kw\">_</span>, <span class=\"kw\">_</span>> = [(<span class=\"number\">1</span>, <span class=\"number\">2</span>), (<span class=\"number\">3</span>, <span class=\"number\">4</span>)].into();\n<span class=\"macro\">assert_eq!</span>(map1, map2);</code></pre></div>\n</div></details></div></details>","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2224\">source</a></span><a href=\"#impl-FromIterator%3C(K,+V)%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html\" title=\"trait core::iter::traits::collect::FromIterator\">FromIterator</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2225\">source</a><a href=\"#method.from_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\" class=\"fn\">from_iter</a><T>(iter: T) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a><Item = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a>>,</div></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter\">Read more</a></div></details></div></details>","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2268\">source</a></span><a href=\"#impl-Hash-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2269\">source</a><a href=\"#method.hash\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\" class=\"fn\">hash</a><H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash_slice\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.3.0\">1.3.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240\">source</a></span><a href=\"#method.hash_slice\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\" class=\"fn\">hash_slice</a><H>(data: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[Self]</a>, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\">Read more</a></div></details></div></details>","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2319-2322\">source</a></span><a href=\"#impl-Index%3C%26Q%3E-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, Q, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html\" title=\"trait core::ops::index::Index\">Index</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html\" title=\"trait core::borrow::Borrow\">Borrow</a><Q> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n Q: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.index\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2332\">source</a><a href=\"#method.index\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index\" class=\"fn\">index</a>(&self, key: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Q</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&V</a></h4></section></summary><div class=\"docblock\"><p>Returns a reference to the value corresponding to the supplied key.</p>\n<h5 id=\"panics\"><a class=\"doc-anchor\" href=\"#panics\">§</a>Panics</h5>\n<p>Panics if the key is not present in the <code>BTreeMap</code>.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = V</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details></div></details>","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"impl\"><a href=\"#impl-IntoAssets-for-BTreeMap%3CDescriptorPublicKey,+DescriptorSecretKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl IntoAssets for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_assets\" class=\"method trait-impl\"><a href=\"#method.into_assets\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">into_assets</a>(self) -> Assets</h4></section></summary><div class='docblock'>Convert <code>self</code> into a <code>Assets</code> struct</div></details></div></details>","IntoAssets","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1425-1429\">source</a><a href=\"#impl-IntoDeserializer%3C'de,+E%3E-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, K, V, E> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>,\n E: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Error.html\" title=\"trait serde::de::Error\">Error</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Deserializer\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" class=\"associatedtype\">Deserializer</a> = <a class=\"struct\" href=\"https://docs.rs/serde/1.0.209/serde/de/value/struct.MapDeserializer.html\" title=\"struct serde::de::value::MapDeserializer\">MapDeserializer</a><'de, <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a>>::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" title=\"type core::iter::traits::collect::IntoIterator::IntoIter\">IntoIter</a>, E></h4></section></summary><div class='docblock'>The type of the deserializer being converted into.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_deserializer\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/de/value.rs.html#1433\">source</a><a href=\"#method.into_deserializer\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#tymethod.into_deserializer\" class=\"fn\">into_deserializer</a>(\n self\n) -> <<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V> as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html\" title=\"trait serde::de::IntoDeserializer\">IntoDeserializer</a><'de, E>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.IntoDeserializer.html#associatedtype.Deserializer\" title=\"type serde::de::IntoDeserializer::Deserializer\">Deserializer</a></h4></section></summary><div class='docblock'>Convert this value into a deserializer.</div></details></div></details>","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1636\">source</a></span><a href=\"#impl-IntoIterator-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html\" title=\"trait core::iter::traits::collect::IntoIterator\">IntoIterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_iter\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1641\">source</a><a href=\"#method.into_iter\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter\" class=\"fn\">into_iter</a>(self) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class=\"docblock\"><p>Gets an owning iterator over the entries of the map, sorted by key.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Item\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Item\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.tuple.html\">(K, V)</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.IntoIter\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.IntoIter\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter\" class=\"associatedtype\">IntoIter</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.IntoIter.html\" title=\"struct alloc::collections::btree::map::IntoIter\">IntoIter</a><K, V, A></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details></div></details>","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#143\">source</a><a href=\"#impl-Merge-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"bdk_chain/tx_data_traits/trait.Merge.html\" title=\"trait bdk_chain::tx_data_traits::Merge\">Merge</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.merge\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#144\">source</a><a href=\"#method.merge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Merge.html#tymethod.merge\" class=\"fn\">merge</a>(&mut self, other: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V>)</h4></section></summary><div class='docblock'>Merge another object of the same type onto <code>self</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_empty\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#150\">source</a><a href=\"#method.is_empty\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Merge.html#tymethod.is_empty\" class=\"fn\">is_empty</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>Returns whether the structure is considered empty.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.take\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/tx_data_traits.rs.html#134\">source</a><a href=\"#method.take\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/tx_data_traits/trait.Merge.html#method.take\" class=\"fn\">take</a>(&mut self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><Self></h4></section></summary><div class='docblock'>Take the value, replacing it with the default value.</div></details></div></details>","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2304\">source</a></span><a href=\"#impl-Ord-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2306\">source</a><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2286\">source</a></span><a href=\"#impl-PartialEq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2287\">source</a><a href=\"#method.eq\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq\" class=\"fn\">eq</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used\nby <code>==</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ne\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263\">source</a></span><a href=\"#method.ne\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne\" class=\"fn\">ne</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2296\">source</a></span><a href=\"#impl-PartialOrd-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2298\">source</a><a href=\"#method.partial_cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\" class=\"fn\">partial_cmp</a>(&self, other: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179\">source</a></span><a href=\"#method.lt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\" class=\"fn\">lt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.le\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197\">source</a></span><a href=\"#method.le\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\" class=\"fn\">le</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.gt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214\">source</a></span><a href=\"#method.gt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\" class=\"fn\">gt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ge\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232\">source</a></span><a href=\"#method.ge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\" class=\"fn\">ge</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#impl-Serialize-for-BTreeMap%3CK,+V%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,\n V: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a>,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"https://docs.rs/serde/1.0.209/src/serde/ser/impls.rs.html#495-499\">source</a><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#2293\">source</a></span><a href=\"#impl-Eq-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>,\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>,</div></h3></section>","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["<section id=\"impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.64.0\">1.64.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#198-202\">source</a></span><a href=\"#impl-UnwindSafe-for-BTreeMap%3CK,+V,+A%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<K, V, A> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><K, V, A><div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,\n K: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,</div></h3></section>","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file
(function() {var type_impls = {
-"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Clone-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a href=\"#method.clone\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\" class=\"fn\">clone</a>(&self) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone_from\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169\">source</a></span><a href=\"#method.clone_from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\" class=\"fn\">clone_from</a>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\">Read more</a></div></details></div></details>","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Debug-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\">Read more</a></div></details></div></details>","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>miniscript::descriptor::{Descriptor, DescriptorPublicKey};\n<span class=\"kw\">use </span>miniscript::bitcoin::secp256k1;\n<span class=\"kw\">use </span>std::str::FromStr;\n\n<span class=\"comment\">// test from bip 86\n</span><span class=\"kw\">let </span>secp = secp256k1::Secp256k1::verification_only();\n<span class=\"kw\">let </span>descriptor = Descriptor::<DescriptorPublicKey>::from_str(<span class=\"string\">\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\"</span>)\n .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>result = descriptor.at_derivation_index(<span class=\"number\">0</span>).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).expect(<span class=\"string\">\"Non-hardened derivation\"</span>);\n<span class=\"macro\">assert_eq!</span>(result.to_string(), <span class=\"string\">\"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\"</span>);</code></pre></div>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan\" class=\"fn\">plan</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan_mall\" class=\"fn\">plan_mall</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_deriveable\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_deriveable\" class=\"fn\">is_deriveable</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use has_wildcards instead</span></div></span></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.has_wildcard\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.has_wildcard\" class=\"fn\">has_wildcard</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards i.e. <code>/*</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.at_derivation_index\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.at_derivation_index\" class=\"fn\">at_derivation_index</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section></summary><div class=\"docblock\"><p>Replaces all wildcards (i.e. <code>/*</code>) in the descriptor with a particular derivation index,\nturning it into a <em>definite</em> descriptor.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<ul>\n<li>If index ≥ 2^31</li>\n</ul>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derive\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derive\" class=\"fn\">derive</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use at_derivation_index instead</span></div></span></summary><div class=\"docblock\"><p>Deprecated name for <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>Self::at_derivation_index</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<p>This is a shorthand for:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code> .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).unwrap();</code></pre></div>\n<p>and is only here really here for backwards compatibility.\nSee <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>at_derivation_index</code></a> and <code>[derived_descriptor</code>] for more documentation.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.parse_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.parse_descriptor\" class=\"fn\">parse_descriptor</a><C>(\n secp: &Secp256k1<C>,\n s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>), Error><div class=\"where\">where\n C: Signing,</div></h4></section></summary><div class=\"docblock\"><p>Parse a descriptor that may contain secret keys</p>\n<p>Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.to_string_with_secret\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.to_string_with_secret\" class=\"fn\">to_string_with_secret</a>(\n &self,\n key_map: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>\n) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a></h4></section></summary><div class=\"docblock\"><p>Serialize a descriptor to string with its secret keys</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.find_derivation_index_for_spk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.find_derivation_index_for_spk\" class=\"fn\">find_derivation_index_for_spk</a><C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>)>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Utility method for deriving the descriptor at each index in a range to find one matching\n<code>script_pubkey</code>.</p>\n<p>If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_multipath\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_multipath\" class=\"fn\">is_multipath</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether this descriptor contains a key that has multiple derivation paths.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_single_descriptors\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.into_single_descriptors\" class=\"fn\">into_single_descriptors</a>(\n self\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>>, Error></h4></section></summary><div class=\"docblock\"><p>Get as many descriptors as different paths in this descriptor.</p>\n<p>For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.address\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.address\" class=\"fn\">address</a>(&self, network: Network) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Address, Error></h4></section></summary><div class=\"docblock\"><p>Computes the Bitcoin address of the descriptor, if one exists</p>\n<p>Some descriptors like pk() don’t have an address.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>For raw/bare descriptors that don’t have an address.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_pubkey\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_pubkey\" class=\"fn\">script_pubkey</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptpubkey of the descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.unsigned_script_sig\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.unsigned_script_sig\" class=\"fn\">unsigned_script_sig</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.</p>\n<p>This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.explicit_script\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.explicit_script\" class=\"fn\">explicit_script</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the the underlying script before any hashing is done. For\n<code>Bare</code>, <code>Pkh</code> and <code>Wpkh</code> this is the scriptPubkey; for <code>ShWpkh</code> and <code>Sh</code>\nthis is the redeemScript; for the others it is the witness script.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_code\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_code\" class=\"fn\">script_code</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the <code>scriptCode</code> of a transaction output.</p>\n<p>The <code>scriptCode</code> is the Script of the previous transaction output being\nserialized in the sighash when evaluating a <code>CHECKSIG</code> & co. OP code.</p>\n<h5 id=\"errors-2\"><a class=\"doc-anchor\" href=\"#errors-2\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction\" class=\"fn\">get_satisfaction</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction_mall\" class=\"fn\">get_satisfaction_mall</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.satisfy\" class=\"fn\">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\n<code>TxIn</code> output.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pk\" class=\"fn\">new_pk</a>(pk: Pk) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new pk descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pkh\" class=\"fn\">new_pkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new PkH descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wpkh\" class=\"fn\">new_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new Wpkh descriptor\nWill return Err if uncompressed key is used</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wpkh\" class=\"fn\">new_sh_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wpkh from <code>Pk</code>.\nErrors when uncompressed keys are supplied</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh\" class=\"fn\">new_sh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Legacy.html\" title=\"enum bdk_wallet::descriptor::Legacy\">Legacy</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh\" class=\"fn\">new_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh\" class=\"fn\">new_sh_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_bare\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_bare\" class=\"fn\">new_bare</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, BareCtx>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wpkh\" class=\"fn\">new_sh_with_wpkh</a>(wpkh: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wpkh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wsh\" class=\"fn\">new_sh_with_wsh</a>(wsh: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wsh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_sortedmulti\" class=\"fn\">new_sh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>\nand Vec of <code>pks</code>.\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh_sortedmulti\" class=\"fn\">new_sh_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold\n<code>k</code> and Vec of <code>pks</code>\nErrors when miniscript exceeds resource limits under segwit context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh_sortedmulti\" class=\"fn\">new_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_tr\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_tr\" class=\"fn\">new_tr</a>(\n key: Pk,\n script: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><TapTree<Pk>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.desc_type\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.desc_type\" class=\"fn\">desc_type</a>(&self) -> DescriptorType</h4></section></summary><div class=\"docblock\"><p>Get the [DescriptorType] of <a href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a></p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.sanity_check\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.sanity_check\" class=\"fn\">sanity_check</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error></h4></section></summary><div class=\"docblock\"><p>Checks whether the descriptor is safe.</p>\n<p>Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.</p>\n<p>In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_weight_to_satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_weight_to_satisfy\" class=\"fn\">max_weight_to_satisfy</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Weight, Error></h4></section></summary><div class=\"docblock\"><p>Computes an upper bound on the difference between a non-satisfied\n<code>TxIn</code>’s <code>segwit_weight</code> and a satisfied <code>TxIn</code>’s <code>segwit_weight</code></p>\n<p>Since this method uses <code>segwit_weight</code> instead of <code>legacy_weight</code>,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s <code>max_weight_to_satisfy</code>\nfor a more accurate estimate.</p>\n<p>In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n );\n}</code></pre></div>\n<p>Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n );\n}</code></pre></div>\n<p>Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_satisfaction_weight\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_satisfaction_weight\" class=\"fn\">max_satisfaction_weight</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>, Error></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.</span></div></span></summary><div class=\"docblock\"><p>Computes an upper bound on the weight of a satisfying witness to the\ntransaction.</p>\n<p>Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl DescriptorExt for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.dust_value\" class=\"method trait-impl\"><a href=\"#method.dust_value\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">dust_value</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.descriptor_id\" class=\"method trait-impl\"><a href=\"#method.descriptor_id\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">descriptor_id</a>(&self) -> DescriptorId</h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.</div></details></div></details>","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Display-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Display-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt\">Read more</a></div></details></div></details>","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1080-1158\">source</a><a href=\"#impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html\" title=\"trait bdk_wallet::descriptor::ExtractPolicy\">ExtractPolicy</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_policy\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1081-1157\">source</a><a href=\"#method.extract_policy\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy\" class=\"fn\">extract_policy</a>(\n &self,\n signers: &<a class=\"struct\" href=\"bdk_wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::signer::SignersContainer\">SignersContainer</a>,\n build_sat: <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.BuildSatisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::BuildSatisfaction\">BuildSatisfaction</a><'_>,\n secp: &Secp256k1<All>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>>, <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>></h4></section></summary><div class='docblock'>Extract the spending <a href=\"bdk_wallet/descriptor/policy/index.html\" title=\"mod bdk_wallet::descriptor::policy\"><code>policy</code></a></div></details></div></details>","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> ForEachKey<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_each_key\" class=\"method trait-impl\"><a href=\"#method.for_each_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_any_key\" class=\"method trait-impl\"><a href=\"#method.for_any_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,\n Pk: 'a,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key</div></details></div></details>","ForEachKey<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Bare<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Bare<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Bare<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Pkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Pkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Pkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Sh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Sh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Sh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Tr<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Tr<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Tr<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wpkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wpkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wsh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wsh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromStr-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromStr-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Err\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Err\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err\" class=\"associatedtype\">Err</a> = Error</h4></section></summary><div class='docblock'>The associated error which can be returned from parsing.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_str\" class=\"method trait-impl\"><a href=\"#method.from_str\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\" class=\"fn\">from_str</a>(s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class='docblock'>Parses a string <code>s</code> to return a value of this type. <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\">Read more</a></div></details></div></details>","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromTree-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromTree-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> FromTree for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_tree\" class=\"method trait-impl\"><a href=\"#method.from_tree\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">from_tree</a>(top: &Tree<'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Parse an expression tree into a descriptor.</p>\n</div></details></div></details>","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Hash-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a href=\"#method.hash\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\" class=\"fn\">hash</a><__H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut __H</a>)<div class=\"where\">where\n __H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash_slice\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.3.0\">1.3.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240\">source</a></span><a href=\"#method.hash_slice\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\" class=\"fn\">hash_slice</a><H>(data: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[Self]</a>, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\">Read more</a></div></details></div></details>","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> Liftable<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.lift\" class=\"method trait-impl\"><a href=\"#method.lift\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">lift</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Policy<Pk>, Error></h4></section></summary><div class='docblock'>Converts this object into an abstract policy.</div></details></div></details>","Liftable<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Ord-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a href=\"#method.eq\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq\" class=\"fn\">eq</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used\nby <code>==</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ne\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263\">source</a></span><a href=\"#method.ne\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne\" class=\"fn\">ne</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a href=\"#method.partial_cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\" class=\"fn\">partial_cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179\">source</a></span><a href=\"#method.lt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\" class=\"fn\">lt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.le\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197\">source</a></span><a href=\"#method.le\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\" class=\"fn\">le</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.gt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214\">source</a></span><a href=\"#method.gt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\" class=\"fn\">gt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ge\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232\">source</a></span><a href=\"#method.ge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\" class=\"fn\">ge</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Serialize-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"impl\"><a href=\"#impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<P, Q> TranslatePk<P, Q> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P><div class=\"where\">where\n P: MiniscriptKey,\n Q: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.translate_pk\" class=\"method trait-impl\"><a href=\"#method.translate_pk\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">translate_pk</a><T, E>(\n &self,\n t: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut T</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P> as TranslatePk<P, Q>>::Output, TranslateErr<E>><div class=\"where\">where\n T: Translator<P, Q, E>,</div></h4></section></summary><div class=\"docblock\"><p>Converts a descriptor using abstract keys to one using specific keys.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Q></h4></section></summary><div class='docblock'>The associated output type. This must be <code>Self<Q></code>.</div></details></div></details>","TranslatePk<P, Q>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-Eq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Eq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + MiniscriptKey,</div></h3></section>","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section>","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]
+"bdk_wallet":[["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Clone-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Clone-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone\" class=\"method trait-impl\"><a href=\"#method.clone\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\" class=\"fn\">clone</a>(&self) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clone_from\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169\">source</a></span><a href=\"#method.clone_from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\" class=\"fn\">clone_from</a>(&mut self, source: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from\">Read more</a></div></details></div></details>","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Debug-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Debug-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt\">Read more</a></div></details></div></details>","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<h5 id=\"examples\"><a class=\"doc-anchor\" href=\"#examples\">§</a>Examples</h5>\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">use </span>miniscript::descriptor::{Descriptor, DescriptorPublicKey};\n<span class=\"kw\">use </span>miniscript::bitcoin::secp256k1;\n<span class=\"kw\">use </span>std::str::FromStr;\n\n<span class=\"comment\">// test from bip 86\n</span><span class=\"kw\">let </span>secp = secp256k1::Secp256k1::verification_only();\n<span class=\"kw\">let </span>descriptor = Descriptor::<DescriptorPublicKey>::from_str(<span class=\"string\">\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\"</span>)\n .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>result = descriptor.at_derivation_index(<span class=\"number\">0</span>).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).expect(<span class=\"string\">\"Non-hardened derivation\"</span>);\n<span class=\"macro\">assert_eq!</span>(result.to_string(), <span class=\"string\">\"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\"</span>);</code></pre></div>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDefiniteDescriptorKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan\" class=\"fn\">plan</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.plan_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.plan_mall\" class=\"fn\">plan_mall</a><P>(\n self,\n provider: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&P</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Plan, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>><div class=\"where\">where\n P: AssetProvider<DefiniteDescriptorKey>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a plan if the provided assets are sufficient to produce a malleable satisfaction</p>\n<p>If the assets aren’t sufficient for generating a Plan, the descriptor is returned</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_deriveable\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_deriveable\" class=\"fn\">is_deriveable</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use has_wildcards instead</span></div></span></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.has_wildcard\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.has_wildcard\" class=\"fn\">has_wildcard</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether or not the descriptor has any wildcards i.e. <code>/*</code>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.at_derivation_index\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.at_derivation_index\" class=\"fn\">at_derivation_index</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section></summary><div class=\"docblock\"><p>Replaces all wildcards (i.e. <code>/*</code>) in the descriptor with a particular derivation index,\nturning it into a <em>definite</em> descriptor.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<ul>\n<li>If index ≥ 2^31</li>\n</ul>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derive\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derive\" class=\"fn\">derive</a>(\n &self,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><DefiniteDescriptorKey>, ConversionError></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated: use at_derivation_index instead</span></div></span></summary><div class=\"docblock\"><p>Deprecated name for <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>Self::at_derivation_index</code></a>.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.derived_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.derived_descriptor\" class=\"fn\">derived_descriptor</a><C>(\n &self,\n secp: &Secp256k1<C>,\n index: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Convert all the public keys in the descriptor to [<code>bitcoin::PublicKey</code>] by deriving them or\notherwise converting them. All [<code>bitcoin::secp256k1::XOnlyPublicKey</code>]s are converted to by adding a\ndefault(0x02) y-coordinate.</p>\n<p>This is a shorthand for:</p>\n\n<div class=\"example-wrap\"><pre class=\"rust rust-example-rendered\"><code> .expect(<span class=\"string\">\"Valid ranged descriptor\"</span>);\n<span class=\"kw\">let </span>derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(<span class=\"kw-2\">&</span>secp).unwrap();</code></pre></div>\n<p>and is only here really here for backwards compatibility.\nSee <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#method.at_derivation_index\" title=\"method bdk_wallet::descriptor::Descriptor::at_derivation_index\"><code>at_derivation_index</code></a> and <code>[derived_descriptor</code>] for more documentation.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>This function will return an error if hardened derivation is attempted.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.parse_descriptor\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.parse_descriptor\" class=\"fn\">parse_descriptor</a><C>(\n secp: &Secp256k1<C>,\n s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>), Error><div class=\"where\">where\n C: Signing,</div></h4></section></summary><div class=\"docblock\"><p>Parse a descriptor that may contain secret keys</p>\n<p>Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.to_string_with_secret\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.to_string_with_secret\" class=\"fn\">to_string_with_secret</a>(\n &self,\n key_map: &<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html\" title=\"struct alloc::collections::btree::map::BTreeMap\">BTreeMap</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>, <a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorSecretKey.html\" title=\"enum bdk_wallet::keys::DescriptorSecretKey\">DescriptorSecretKey</a>>\n) -> <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a></h4></section></summary><div class=\"docblock\"><p>Serialize a descriptor to string with its secret keys</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.find_derivation_index_for_spk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.find_derivation_index_for_spk\" class=\"fn\">find_derivation_index_for_spk</a><C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u32.html\">u32</a>, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><PublicKey>)>, ConversionError><div class=\"where\">where\n C: Verification,</div></h4></section></summary><div class=\"docblock\"><p>Utility method for deriving the descriptor at each index in a range to find one matching\n<code>script_pubkey</code>.</p>\n<p>If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.is_multipath\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.is_multipath\" class=\"fn\">is_multipath</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class=\"docblock\"><p>Whether this descriptor contains a key that has multiple derivation paths.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.into_single_descriptors\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.into_single_descriptors\" class=\"fn\">into_single_descriptors</a>(\n self\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>>>, Error></h4></section></summary><div class=\"docblock\"><p>Get as many descriptors as different paths in this descriptor.</p>\n<p>For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey + ToPublicKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.address\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.address\" class=\"fn\">address</a>(&self, network: Network) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Address, Error></h4></section></summary><div class=\"docblock\"><p>Computes the Bitcoin address of the descriptor, if one exists</p>\n<p>Some descriptors like pk() don’t have an address.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>For raw/bare descriptors that don’t have an address.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_pubkey\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_pubkey\" class=\"fn\">script_pubkey</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptpubkey of the descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.unsigned_script_sig\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.unsigned_script_sig\" class=\"fn\">unsigned_script_sig</a>(&self) -> ScriptBuf</h4></section></summary><div class=\"docblock\"><p>Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.</p>\n<p>This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.explicit_script\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.explicit_script\" class=\"fn\">explicit_script</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the the underlying script before any hashing is done. For\n<code>Bare</code>, <code>Pkh</code> and <code>Wpkh</code> this is the scriptPubkey; for <code>ShWpkh</code> and <code>Sh</code>\nthis is the redeemScript; for the others it is the witness script.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.script_code\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.script_code\" class=\"fn\">script_code</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><ScriptBuf, Error></h4></section></summary><div class=\"docblock\"><p>Computes the <code>scriptCode</code> of a transaction output.</p>\n<p>The <code>scriptCode</code> is the Script of the previous transaction output being\nserialized in the sighash when evaluating a <code>CHECKSIG</code> & co. OP code.</p>\n<h5 id=\"errors-2\"><a class=\"doc-anchor\" href=\"#errors-2\">§</a>Errors</h5>\n<p>If the descriptor is a taproot descriptor.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction\" class=\"fn\">get_satisfaction</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.get_satisfaction_mall\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.get_satisfaction_mall\" class=\"fn\">get_satisfaction_mall</a><S>(\n &self,\n satisfier: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><(<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>>>, ScriptBuf), Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.satisfy\" class=\"fn\">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error><div class=\"where\">where\n S: Satisfier<Pk>,</div></h4></section></summary><div class=\"docblock\"><p>Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\n<code>TxIn</code> output.</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pk\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pk\" class=\"fn\">new_pk</a>(pk: Pk) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new pk descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_pkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_pkh\" class=\"fn\">new_pkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new PkH descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wpkh\" class=\"fn\">new_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new Wpkh descriptor\nWill return Err if uncompressed key is used</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wpkh\" class=\"fn\">new_sh_wpkh</a>(pk: Pk) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wpkh from <code>Pk</code>.\nErrors when uncompressed keys are supplied</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh\" class=\"fn\">new_sh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Legacy.html\" title=\"enum bdk_wallet::descriptor::Legacy\">Legacy</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh\" class=\"fn\">new_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh\" class=\"fn\">new_sh_wsh</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Segwitv0.html\" title=\"enum bdk_wallet::descriptor::Segwitv0\">Segwitv0</a>>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_bare\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_bare\" class=\"fn\">new_bare</a>(ms: <a class=\"struct\" href=\"bdk_wallet/descriptor/struct.Miniscript.html\" title=\"struct bdk_wallet::descriptor::Miniscript\">Miniscript</a><Pk, BareCtx>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wpkh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wpkh\" class=\"fn\">new_sh_with_wpkh</a>(wpkh: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wpkh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_with_wsh\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_with_wsh\" class=\"fn\">new_sh_with_wsh</a>(wsh: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapper for the given wsh descriptor</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_sortedmulti\" class=\"fn\">new_sh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>\nand Vec of <code>pks</code>.\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_sh_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_sh_wsh_sortedmulti\" class=\"fn\">new_sh_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold\n<code>k</code> and Vec of <code>pks</code>\nErrors when miniscript exceeds resource limits under segwit context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_wsh_sortedmulti\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_wsh_sortedmulti\" class=\"fn\">new_wsh_sortedmulti</a>(\n k: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>,\n pks: <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html\" title=\"struct alloc::vec::Vec\">Vec</a><Pk>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.new_tr\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.new_tr\" class=\"fn\">new_tr</a>(\n key: Pk,\n script: <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><TapTree<Pk>>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.desc_type\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.desc_type\" class=\"fn\">desc_type</a>(&self) -> DescriptorType</h4></section></summary><div class=\"docblock\"><p>Get the [DescriptorType] of <a href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a></p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.sanity_check\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.sanity_check\" class=\"fn\">sanity_check</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, Error></h4></section></summary><div class=\"docblock\"><p>Checks whether the descriptor is safe.</p>\n<p>Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.</p>\n<p>In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_weight_to_satisfy\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_weight_to_satisfy\" class=\"fn\">max_weight_to_satisfy</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Weight, Error></h4></section></summary><div class=\"docblock\"><p>Computes an upper bound on the difference between a non-satisfied\n<code>TxIn</code>’s <code>segwit_weight</code> and a satisfied <code>TxIn</code>’s <code>segwit_weight</code></p>\n<p>Since this method uses <code>segwit_weight</code> instead of <code>legacy_weight</code>,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s <code>max_weight_to_satisfy</code>\nfor a more accurate estimate.</p>\n<p>In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n );\n}</code></pre></div>\n<p>Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:</p>\n\n<div class=\"example-wrap ignore\"><a href=\"#\" class=\"tooltip\" title=\"This example is not tested\">ⓘ</a><pre class=\"rust rust-example-rendered\"><code><span class=\"kw\">for </span>i <span class=\"kw\">in </span><span class=\"number\">0</span>..transaction.input.len() {\n <span class=\"macro\">assert_eq!</span>(\n descriptor_for_input[i].max_weight_to_satisfy(),\n transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n );\n}</code></pre></div>\n<p>Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.</p>\n<h5 id=\"errors\"><a class=\"doc-anchor\" href=\"#errors\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max_satisfaction_weight\" class=\"method\"><h4 class=\"code-header\">pub fn <a href=\"bdk_wallet/descriptor/enum.Descriptor.html#tymethod.max_satisfaction_weight\" class=\"fn\">max_satisfaction_weight</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>, Error></h4></section><span class=\"item-info\"><div class=\"stab deprecated\"><span class=\"emoji\">👎</span><span>Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.</span></div></span></summary><div class=\"docblock\"><p>Computes an upper bound on the weight of a satisfying witness to the\ntransaction.</p>\n<p>Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.</p>\n<h5 id=\"errors-1\"><a class=\"doc-anchor\" href=\"#errors-1\">§</a>Errors</h5>\n<p>When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).</p>\n</div></details></div></details>",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#25\">source</a><a href=\"#impl-DescriptorExt-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html\" title=\"trait bdk_chain::descriptor_ext::DescriptorExt\">DescriptorExt</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.dust_value\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#26\">source</a><a href=\"#method.dust_value\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.dust_value\" class=\"fn\">dust_value</a>(&self) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u64.html\">u64</a></h4></section></summary><div class='docblock'>Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.descriptor_id\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_chain/descriptor_ext.rs.html#34\">source</a><a href=\"#method.descriptor_id\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_chain/descriptor_ext/trait.DescriptorExt.html#tymethod.descriptor_id\" class=\"fn\">descriptor_id</a>(&self) -> <a class=\"struct\" href=\"bdk_chain/descriptor_ext/struct.DescriptorId.html\" title=\"struct bdk_chain::descriptor_ext::DescriptorId\">DescriptorId</a></h4></section></summary><div class='docblock'>Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.</div></details></div></details>","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Deserialize%3C'de%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.deserialize\" class=\"method trait-impl\"><a href=\"#method.deserialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\" class=\"fn\">deserialize</a><D>(\n deserializer: D\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, <D as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error\" title=\"type serde::de::Deserializer::Error\">Error</a>><div class=\"where\">where\n D: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html\" title=\"trait serde::de::Deserializer\">Deserializer</a><'de>,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href=\"https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize\">Read more</a></div></details></div></details>","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Display-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Display-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.fmt\" class=\"method trait-impl\"><a href=\"#method.fmt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt\" class=\"fn\">fmt</a>(&self, f: &mut <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html\" title=\"struct core::fmt::Formatter\">Formatter</a><'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.unit.html\">()</a>, <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html\" title=\"struct core::fmt::Error\">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt\">Read more</a></div></details></div></details>","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1080-1158\">source</a><a href=\"#impl-ExtractPolicy-for-Descriptor%3CDescriptorPublicKey%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl <a class=\"trait\" href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html\" title=\"trait bdk_wallet::descriptor::ExtractPolicy\">ExtractPolicy</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><<a class=\"enum\" href=\"bdk_wallet/keys/enum.DescriptorPublicKey.html\" title=\"enum bdk_wallet::keys::DescriptorPublicKey\">DescriptorPublicKey</a>></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.extract_policy\" class=\"method trait-impl\"><a class=\"src rightside\" href=\"src/bdk_wallet/descriptor/policy.rs.html#1081-1157\">source</a><a href=\"#method.extract_policy\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"bdk_wallet/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy\" class=\"fn\">extract_policy</a>(\n &self,\n signers: &<a class=\"struct\" href=\"bdk_wallet/signer/struct.SignersContainer.html\" title=\"struct bdk_wallet::signer::SignersContainer\">SignersContainer</a>,\n build_sat: <a class=\"enum\" href=\"bdk_wallet/descriptor/policy/enum.BuildSatisfaction.html\" title=\"enum bdk_wallet::descriptor::policy::BuildSatisfaction\">BuildSatisfaction</a><'_>,\n secp: &Secp256k1<All>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"struct\" href=\"bdk_wallet/descriptor/policy/struct.Policy.html\" title=\"struct bdk_wallet::descriptor::policy::Policy\">Policy</a>>, <a class=\"enum\" href=\"bdk_wallet/descriptor/error/enum.Error.html\" title=\"enum bdk_wallet::descriptor::error::Error\">Error</a>></h4></section></summary><div class='docblock'>Extract the spending <a href=\"bdk_wallet/descriptor/policy/index.html\" title=\"mod bdk_wallet::descriptor::policy\"><code>policy</code></a></div></details></div></details>","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-ForEachKey%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> ForEachKey<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_each_key\" class=\"method trait-impl\"><a href=\"#method.for_each_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.for_any_key\" class=\"method trait-impl\"><a href=\"#method.for_any_key\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a><div class=\"where\">where\n F: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&'a Pk</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,\n Pk: 'a,</div></h4></section></summary><div class='docblock'>Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key</div></details></div></details>","ForEachKey<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Bare<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Bare<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Bare<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Pkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Pkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Pkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Sh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Sh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Sh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Tr<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Tr<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Tr<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wpkh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Wpkh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wpkh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Wsh<Pk>> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from\" class=\"method trait-impl\"><a href=\"#method.from\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from\" class=\"fn\">from</a>(inner: Wsh<Pk>) -> <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details>","From<Wsh<Pk>>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromStr-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromStr-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html\" title=\"trait core::str::traits::FromStr\">FromStr</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle\" open><summary><section id=\"associatedtype.Err\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Err\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err\" class=\"associatedtype\">Err</a> = Error</h4></section></summary><div class='docblock'>The associated error which can be returned from parsing.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_str\" class=\"method trait-impl\"><a href=\"#method.from_str\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\" class=\"fn\">from_str</a>(s: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.str.html\">str</a>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class='docblock'>Parses a string <code>s</code> to return a value of this type. <a href=\"https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str\">Read more</a></div></details></div></details>","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-FromTree-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-FromTree-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> FromTree for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: FromStrKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.from_tree\" class=\"method trait-impl\"><a href=\"#method.from_tree\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">from_tree</a>(top: &Tree<'_>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>, Error></h4></section></summary><div class=\"docblock\"><p>Parse an expression tree into a descriptor.</p>\n</div></details></div></details>","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Hash-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Hash-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash\" class=\"method trait-impl\"><a href=\"#method.hash\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\" class=\"fn\">hash</a><__H>(&self, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut __H</a>)<div class=\"where\">where\n __H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.hash_slice\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.3.0\">1.3.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240\">source</a></span><a href=\"#method.hash_slice\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\" class=\"fn\">hash_slice</a><H>(data: &<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[Self]</a>, state: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut H</a>)<div class=\"where\">where\n H: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\">Hasher</a>,\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html\" title=\"trait core::hash::Hasher\"><code>Hasher</code></a>. <a href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice\">Read more</a></div></details></div></details>","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Liftable%3CPk%3E-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> Liftable<Pk> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.lift\" class=\"method trait-impl\"><a href=\"#method.lift\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">lift</a>(&self) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><Policy<Pk>, Error></h4></section></summary><div class='docblock'>Converts this object into an abstract policy.</div></details></div></details>","Liftable<Pk>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Ord-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Ord-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.cmp\" class=\"method trait-impl\"><a href=\"#method.cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\" class=\"fn\">cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.max\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858\">source</a></span><a href=\"#method.max\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\" class=\"fn\">max</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.min\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.21.0\">1.21.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879\">source</a></span><a href=\"#method.min\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\" class=\"fn\">min</a>(self, other: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.clamp\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.50.0\">1.50.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905\">source</a></span><a href=\"#method.clamp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\" class=\"fn\">clamp</a>(self, min: Self, max: Self) -> Self<div class=\"where\">where\n Self: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp\">Read more</a></div></details></div></details>","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.eq\" class=\"method trait-impl\"><a href=\"#method.eq\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq\" class=\"fn\">eq</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used\nby <code>==</code>.</div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ne\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263\">source</a></span><a href=\"#method.ne\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne\" class=\"fn\">ne</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.</div></details></div></details>","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-PartialOrd-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> + MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.partial_cmp\" class=\"method trait-impl\"><a href=\"#method.partial_cmp\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\" class=\"fn\">partial_cmp</a>(&self, other: &<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk>) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a><<a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html\" title=\"enum core::cmp::Ordering\">Ordering</a>></h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.lt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179\">source</a></span><a href=\"#method.lt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\" class=\"fn\">lt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.le\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197\">source</a></span><a href=\"#method.le\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\" class=\"fn\">le</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.gt\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214\">source</a></span><a href=\"#method.gt\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\" class=\"fn\">gt</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt\">Read more</a></div></details><details class=\"toggle method-toggle\" open><summary><section id=\"method.ge\" class=\"method trait-impl\"><span class=\"rightside\"><span class=\"since\" title=\"Stable since Rust version 1.0.0\">1.0.0</span> · <a class=\"src\" href=\"https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232\">source</a></span><a href=\"#method.ge\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\" class=\"fn\">ge</a>(&self, other: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&Rhs</a>) -> <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>\noperator. <a href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge\">Read more</a></div></details></div></details>","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-Serialize-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Serialize-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<'de, Pk> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.serialize\" class=\"method trait-impl\"><a href=\"#method.serialize\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\" class=\"fn\">serialize</a><S>(\n &self,\n serializer: S\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok\" title=\"type serde::ser::Serializer::Ok\">Ok</a>, <S as <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>>::<a class=\"associatedtype\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error\" title=\"type serde::ser::Serializer::Error\">Error</a>><div class=\"where\">where\n S: <a class=\"trait\" href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html\" title=\"trait serde::ser::Serializer\">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href=\"https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize\">Read more</a></div></details></div></details>","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<details class=\"toggle implementors-toggle\" open><summary><section id=\"impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"impl\"><a href=\"#impl-TranslatePk%3CP,+Q%3E-for-Descriptor%3CP%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<P, Q> TranslatePk<P, Q> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P><div class=\"where\">where\n P: MiniscriptKey,\n Q: MiniscriptKey,</div></h3></section></summary><div class=\"impl-items\"><details class=\"toggle method-toggle\" open><summary><section id=\"method.translate_pk\" class=\"method trait-impl\"><a href=\"#method.translate_pk\" class=\"anchor\">§</a><h4 class=\"code-header\">fn <a class=\"fn\">translate_pk</a><T, E>(\n &self,\n t: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&mut T</a>\n) -> <a class=\"enum\" href=\"https://doc.rust-lang.org/nightly/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a><<<a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><P> as TranslatePk<P, Q>>::Output, TranslateErr<E>><div class=\"where\">where\n T: Translator<P, Q, E>,</div></h4></section></summary><div class=\"docblock\"><p>Converts a descriptor using abstract keys to one using specific keys.</p>\n</div></details><details class=\"toggle\" open><summary><section id=\"associatedtype.Output\" class=\"associatedtype trait-impl\"><a href=\"#associatedtype.Output\" class=\"anchor\">§</a><h4 class=\"code-header\">type <a class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Q></h4></section></summary><div class='docblock'>The associated output type. This must be <code>Self<Q></code>.</div></details></div></details>","TranslatePk<P, Q>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-Eq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-Eq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> + MiniscriptKey,</div></h3></section>","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["<section id=\"impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"impl\"><a href=\"#impl-StructuralPartialEq-for-Descriptor%3CPk%3E\" class=\"anchor\">§</a><h3 class=\"code-header\">impl<Pk> <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"bdk_wallet/descriptor/enum.Descriptor.html\" title=\"enum bdk_wallet::descriptor::Descriptor\">Descriptor</a><Pk><div class=\"where\">where\n Pk: MiniscriptKey,</div></h3></section>","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]
};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})()
\ No newline at end of file