chore: 清理临时管理目录并更新文档索引
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

删除 admin-temp-dir 目录及其内容
更新文档索引以包含 dashmap 相关文件
This commit is contained in:
iven
2026-04-03 00:42:48 +08:00
parent 5a5a4b322d
commit 1c697d0b46
190 changed files with 7026 additions and 9103 deletions

View File

@@ -1,2 +1,2 @@
window.ALL_CRATES = ["matchit"];
//{"start":21,"fragment_lengths":[9]}
window.ALL_CRATES = ["dashmap","matchit"];
//{"start":21,"fragment_lengths":[9,10]}

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>List of all items</h1><rustdoc-toolbar></rustdoc-toolbar></div><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.DashMap.html">DashMap</a></li><li><a href="struct.DashSet.html">DashSet</a></li><li><a href="struct.ReadOnlyView.html">ReadOnlyView</a></li><li><a href="struct.TryReserveError.html">TryReserveError</a></li><li><a href="iter/struct.Iter.html">iter::Iter</a></li><li><a href="iter/struct.IterMut.html">iter::IterMut</a></li><li><a href="iter/struct.OwningIter.html">iter::OwningIter</a></li><li><a href="iter_set/struct.Iter.html">iter_set::Iter</a></li><li><a href="iter_set/struct.OwningIter.html">iter_set::OwningIter</a></li><li><a href="mapref/entry/struct.OccupiedEntry.html">mapref::entry::OccupiedEntry</a></li><li><a href="mapref/entry/struct.VacantEntry.html">mapref::entry::VacantEntry</a></li><li><a href="mapref/multiple/struct.RefMulti.html">mapref::multiple::RefMulti</a></li><li><a href="mapref/multiple/struct.RefMutMulti.html">mapref::multiple::RefMutMulti</a></li><li><a href="mapref/one/struct.MappedRef.html">mapref::one::MappedRef</a></li><li><a href="mapref/one/struct.MappedRefMut.html">mapref::one::MappedRefMut</a></li><li><a href="mapref/one/struct.Ref.html">mapref::one::Ref</a></li><li><a href="mapref/one/struct.RefMut.html">mapref::one::RefMut</a></li><li><a href="setref/multiple/struct.RefMulti.html">setref::multiple::RefMulti</a></li><li><a href="setref/one/struct.Ref.html">setref::one::Ref</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="mapref/entry/enum.Entry.html">mapref::entry::Entry</a></li><li><a href="try_result/enum.TryResult.html">try_result::TryResult</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="trait.Map.html">Map</a></li></ul></section></div></main></body></html>

View File

@@ -0,0 +1,2 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `dashmap` crate."><title>dashmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Crate dashmap</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>dashmap</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/dashmap/lib.rs.html#1-1547">Source</a> </span></div><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.Entry"><code>pub use mapref::entry::<a class="enum" href="mapref/entry/enum.Entry.html" title="enum dashmap::mapref::entry::Entry">Entry</a>;</code></dt><dt id="reexport.OccupiedEntry"><code>pub use mapref::entry::<a class="struct" href="mapref/entry/struct.OccupiedEntry.html" title="struct dashmap::mapref::entry::OccupiedEntry">OccupiedEntry</a>;</code></dt><dt id="reexport.VacantEntry"><code>pub use mapref::entry::<a class="struct" href="mapref/entry/struct.VacantEntry.html" title="struct dashmap::mapref::entry::VacantEntry">VacantEntry</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="iter/index.html" title="mod dashmap::iter">iter</a></dt><dt><a class="mod" href="iter_set/index.html" title="mod dashmap::iter_set">iter_<wbr>set</a></dt><dt><a class="mod" href="mapref/index.html" title="mod dashmap::mapref">mapref</a></dt><dt><a class="mod" href="setref/index.html" title="mod dashmap::setref">setref</a></dt><dt><a class="mod" href="try_result/index.html" title="mod dashmap::try_result">try_<wbr>result</a></dt></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.DashMap.html" title="struct dashmap::DashMap">DashMap</a></dt><dd>DashMap is an implementation of a concurrent associative array/hashmap in Rust.</dd><dt><a class="struct" href="struct.DashSet.html" title="struct dashmap::DashSet">DashSet</a></dt><dd>DashSet is a thin wrapper around <a href="struct.DashMap.html"><code>DashMap</code></a> using <code>()</code> as the value type. It uses
methods and types which are more convenient to work with on a set.</dd><dt><a class="struct" href="struct.ReadOnlyView.html" title="struct dashmap::ReadOnlyView">Read<wbr>Only<wbr>View</a></dt><dd>A read-only view into a <code>DashMap</code>. Allows to obtain raw references to the stored values.</dd><dt><a class="struct" href="struct.TryReserveError.html" title="struct dashmap::TryReserveError">TryReserve<wbr>Error</a></dt></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Map.html" title="trait dashmap::Map">Map</a></dt><dd>Implementation detail that is exposed due to generic constraints in public types.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `iter` mod in crate `dashmap`."><title>dashmap::iter - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module iter</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module iter</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate dashmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">dashmap</a></div><h1>Module <span>iter</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/dashmap/iter.rs.html#1-310">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Iter.html" title="struct dashmap::iter::Iter">Iter</a></dt><dd>Iterator over a DashMap yielding immutable references.</dd><dt><a class="struct" href="struct.IterMut.html" title="struct dashmap::iter::IterMut">IterMut</a></dt><dd>Iterator over a DashMap yielding mutable references.</dd><dt><a class="struct" href="struct.OwningIter.html" title="struct dashmap::iter::OwningIter">Owning<wbr>Iter</a></dt><dd>Iterator over a DashMap yielding key value pairs.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["Iter","IterMut","OwningIter"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `iter_set` mod in crate `dashmap`."><title>dashmap::iter_set - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module iter_set</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module iter_<wbr>set</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate dashmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">dashmap</a></div><h1>Module <span>iter_<wbr>set</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/dashmap/iter_set.rs.html#1-71">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Iter.html" title="struct dashmap::iter_set::Iter">Iter</a></dt><dt><a class="struct" href="struct.OwningIter.html" title="struct dashmap::iter_set::OwningIter">Owning<wbr>Iter</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["Iter","OwningIter"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `entry` mod in crate `dashmap`."><title>dashmap::mapref::entry - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module entry</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module entry</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In dashmap::<wbr>mapref</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">dashmap</a>::<wbr><a href="../index.html">mapref</a></div><h1>Module <span>entry</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/dashmap/mapref/entry.rs.html#1-283">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.OccupiedEntry.html" title="struct dashmap::mapref::entry::OccupiedEntry">Occupied<wbr>Entry</a></dt><dt><a class="struct" href="struct.VacantEntry.html" title="struct dashmap::mapref::entry::VacantEntry">Vacant<wbr>Entry</a></dt></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.Entry.html" title="enum dashmap::mapref::entry::Entry">Entry</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["Entry"],"struct":["OccupiedEntry","VacantEntry"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `mapref` mod in crate `dashmap`."><title>dashmap::mapref - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module mapref</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module mapref</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate dashmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">dashmap</a></div><h1>Module <span>mapref</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/dashmap/mapref/mod.rs.html#1-3">Source</a> </span></div><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="entry/index.html" title="mod dashmap::mapref::entry">entry</a></dt><dt><a class="mod" href="multiple/index.html" title="mod dashmap::mapref::multiple">multiple</a></dt><dt><a class="mod" href="one/index.html" title="mod dashmap::mapref::one">one</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `multiple` mod in crate `dashmap`."><title>dashmap::mapref::multiple - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module multiple</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module multiple</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In dashmap::<wbr>mapref</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">dashmap</a>::<wbr><a href="../index.html">mapref</a></div><h1>Module <span>multiple</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/dashmap/mapref/multiple.rs.html#1-105">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.RefMulti.html" title="struct dashmap::mapref::multiple::RefMulti">RefMulti</a></dt><dt><a class="struct" href="struct.RefMutMulti.html" title="struct dashmap::mapref::multiple::RefMutMulti">RefMut<wbr>Multi</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["RefMulti","RefMutMulti"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `one` mod in crate `dashmap`."><title>dashmap::mapref::one - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module one</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module one</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In dashmap::<wbr>mapref</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">dashmap</a>::<wbr><a href="../index.html">mapref</a></div><h1>Module <span>one</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/dashmap/mapref/one.rs.html#1-334">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.MappedRef.html" title="struct dashmap::mapref::one::MappedRef">Mapped<wbr>Ref</a></dt><dt><a class="struct" href="struct.MappedRefMut.html" title="struct dashmap::mapref::one::MappedRefMut">Mapped<wbr>RefMut</a></dt><dt><a class="struct" href="struct.Ref.html" title="struct dashmap::mapref::one::Ref">Ref</a></dt><dt><a class="struct" href="struct.RefMut.html" title="struct dashmap::mapref::one::RefMut">RefMut</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["MappedRef","MappedRefMut","Ref","RefMut"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"mod":["entry","multiple","one"]};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../dashmap/struct.ReadOnlyView.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../dashmap/struct.ReadOnlyView.html">../../dashmap/struct.ReadOnlyView.html</a>...</p>
<script>location.replace("../../dashmap/struct.ReadOnlyView.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../dashmap/struct.DashSet.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../dashmap/struct.DashSet.html">../../dashmap/struct.DashSet.html</a>...</p>
<script>location.replace("../../dashmap/struct.DashSet.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `setref` mod in crate `dashmap`."><title>dashmap::setref - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module setref</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module setref</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate dashmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">dashmap</a></div><h1>Module <span>setref</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/dashmap/setref/mod.rs.html#1-2">Source</a> </span></div><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="multiple/index.html" title="mod dashmap::setref::multiple">multiple</a></dt><dt><a class="mod" href="one/index.html" title="mod dashmap::setref::one">one</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `multiple` mod in crate `dashmap`."><title>dashmap::setref::multiple - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module multiple</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module multiple</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In dashmap::<wbr>setref</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">dashmap</a>::<wbr><a href="../index.html">setref</a></div><h1>Module <span>multiple</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/dashmap/setref/multiple.rs.html#1-25">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.RefMulti.html" title="struct dashmap::setref::multiple::RefMulti">RefMulti</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["RefMulti"]};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `one` mod in crate `dashmap`."><title>dashmap::setref::one - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module one</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module one</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In dashmap::<wbr>setref</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">dashmap</a>::<wbr><a href="../index.html">setref</a></div><h1>Module <span>one</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/dashmap/setref/one.rs.html#1-25">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Ref.html" title="struct dashmap::setref::one::Ref">Ref</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["Ref"]};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"mod":["multiple","one"]};

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"mod":["iter","iter_set","mapref","setref","try_result"],"struct":["DashMap","DashSet","ReadOnlyView","TryReserveError"],"trait":["Map"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../dashmap/trait.Map.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../dashmap/trait.Map.html">../../dashmap/trait.Map.html</a>...</p>
<script>location.replace("../../dashmap/trait.Map.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `try_result` mod in crate `dashmap`."><title>dashmap::try_result - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module try_result</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../dashmap/index.html">dashmap</a><span class="version">6.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module try_<wbr>result</a></h2><h3><a href="#enums">Module Items</a></h3><ul class="block"><li><a href="#enums" title="Enums">Enums</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate dashmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">dashmap</a></div><h1>Module <span>try_<wbr>result</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/dashmap/try_result.rs.html#1-46">Source</a> </span></div><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.TryResult.html" title="enum dashmap::try_result::TryResult">TryResult</a></dt><dd>Represents the result of a non-blocking read from a <a href="../struct.DashMap.html" title="struct dashmap::DashMap">DashMap</a>.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["TryResult"]};

View File

@@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-9960930a.css"><link rel="stylesheet" href="./static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="matchit" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="./static.files/storage-e2aeef58.js"></script><script defer src="./static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.93.1</span></h2></div><div class="version">(01f6ddf75 2026-02-11)</div><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/1.93.1/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-9960930a.css"><link rel="stylesheet" href="./static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="./static.files/storage-e2aeef58.js"></script><script defer src="./static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.93.1</span></h2></div><div class="version">(01f6ddf75 2026-02-11)</div><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/1.93.1/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>

View File

@@ -0,0 +1 @@
rn_("NQBBAAAiQAJGAkcCbdkB2gHqAesBIwECoEAAAAI4ZWn1EgEAAAEAAQAVAAEAMUIAAF0CaQJqAmsCawOgMAAAAe5kdXY=")

View File

@@ -0,0 +1 @@
rn_("BQHAAAAEGgIDWwFmcjFFAABdAmkCagJrAlMAA7BAAjAAAWFjZTowAAABAAAAAAANABAAAAAMAOcBTQJPAlACWgJbAlwCXwJgAmMCZAJlAmYC")

View File

@@ -0,0 +1 @@
rn_("MUIAADQCNQI9Aj4CBQHAAAATNgI3AhMfAiACbnITAgKwMAJLABZldzswAAABAAAIAAMACAEFACcBAQDWAQAA8wACZWsBZwEAAA==")

View File

@@ -0,0 +1 @@
rn_("BQBFAAACLQJtuwEVAEUAAA1rAmFnAmgCE4ICoKAAAAJqaHPzBAFhOzAAAAEAAAYAAwBkAQIAvgEBAEQCAQAzAAOwIAEOAAFhcHI6MAAAAQAAAAAADAAQAAAACwA4ADkAOgA7ABoBHAEtATYBNwE4ATkBHQI=")

View File

@@ -0,0 +1 @@
rn_("BQHBAAAWTwJQAhAYARkBYWaRRgAAOQJRAlICUwJUAlUCVgJXAlgCWQJhQgAAMQEyAWABYQEnAjICMwIxQgAAFQEWASsBLAHXAQCFoHAAAAI/AVQBOjAAAAEAAAAAAA0AEAAAACQAJQAmACcAKABEAE8AUAAdATUBYgFjAXEBcgE=")

View File

@@ -0,0 +1 @@
rn_("VQBAAAAEIgJt2gBXAcUBxgHHAS0CI4ECsCABXQABbHRBQwAAHgEuAS8BMAEaAlMAhKBQAAAB2KAgAAACChEQATswAAABAAASAAkADQABAKEAAAClAAAAvAAHAOcAAAAOAQEAGAEBAGsBAAC7AQAA")

View File

@@ -0,0 +1 @@
rn_("JQBAAAAycwF0AXUBdgFwXQFeASICJQBBAAAixAHoAekBYa8A4QDiAPMAAmVpOjAAAAEAAAAAAAkAEAAAANsA3AAeAS4BLwEwAb0BGgIbAhwC")

View File

@@ -0,0 +1 @@
rn_("AQEAOjAAAAEAAAAAABAAEAAAAKYApwDEAMUA5QDmAN4B7AHtASMCJAI2AjcCOAI6AjsCQQIFAcEAAAVKAgBrAWFmIUIAAGgBaQFqAYUAQgAAAywCYcsBzAHNAc4BzwHQAdEB0gHTASsCoDAAAAIYbnTzAANpa3I7MAAAAQAAQAAFAEsAAABwABoAJAEAAJ4BGgALAggABQHAAAATIwIkAgA0AW5yBQBDAAAyNAI1Aj0CPgJrZwHzAIQRQAE6MAAAAQAAAAAADQAQAAAA0ADgACEB1AHiARQCFQIZAjACMQJdAmkCagJrAg==")

View File

@@ -0,0 +1 @@
rn_("FQBFAAANaQJhKQIqAhUARQAADWsCYWcCaAITggKgoAAAAmpoc/MHAWHyRAIAAAEAMwADoKAAAAJdY2hz86AAAACrARYA")

View File

@@ -0,0 +1 @@
rn_("MUQAAF8CYAJlAmYCMUIAACABcAHCAcMBBQHAAAAhxAHoAekBIlgBKwIsAmx0MwCEsCACHwABsCABcQABARADOzAAAAEAAB4ACwBNAAEAiwAFAKsAAQCvAAAA3QAAAOEAAQAXAQAANAEAALoBAADJAQoA5AECAAUBwAAAINMABQEGATIjAiQCNgI3AmR0xwEAhaBAAAACWqAAAAAATEAwAwEhAgAA")

View File

@@ -0,0 +1 @@
rn_("VQBAAAAidwF4AXkBbZgAmQCaAJsAnACdAAUAQAAAMjQCNQI9Aj4Ca2cB8wABc/QVAQAAAQAVAAEAawOwgAJeAARsbnI=")

View File

@@ -0,0 +1 @@
rn_("BQLCAAASJQImAgG8AQLnAWNlbwUBwAAAEzYCNwITHwIgAm5yMwCEoLAAAAJhsDACSwAWEAEROzAAAAEAAAgAAwAIAQUAJwEBANYBAAA=")

View File

@@ -0,0 +1 @@
rn_("IUEAAN8B4AHhAVFCAABsAW0BbgFvAcABwQE1AEEAACJAAkYCRwJt2QHaAeoB6wEjAgKgQAAAAjhlafUSAQAAAQABABUAAQDzAANvcHUBTAAAAA==")

View File

@@ -0,0 +1 @@
rn_("AQADsBAA3QA6oEAAAAIioCAAAADYZW1wOzAAAAEAADkAFQA8AAAAqAAAANgAAADaAAAA6AAAACABAAAxAQEAVwEAAGABAQBwAQAAdwECALkBAADCAQEAxQECAN8BAgDvARoAJwIAAC0CAAAyAgEAQAIAAEYCAQA=")

View File

@@ -0,0 +1 @@
rn_("BQBBAAAETgJlKAIFAcAAABM2AjcCEx8CIAJuchMAArAwAksAFmV3OzAAAAEAAAgAAwAIAQUAJwEBANYBAAD7AnR2")

View File

@@ -0,0 +1 @@
rn_("BQLDAAASJQImAgG8AQLnAWNlb7UBQAAANV0CaQJqAmsCFDACMQJhY00CTwJQAloCWwJcAl8CYAJjAmQCZQJmAjUAQAAAA+YBadkAEAERATwC8wEBcwEvAgAA8wADYWR09LEAAAABADEAAQA=")

View File

@@ -0,0 +1 @@
rn_("BQHBAAAEWgI0XwJgAmUCZgJncwUAQwAAA0sCd9YBMUUAAEICQwJIAkkCUUAAAN4AWwFfAdsB3AHdAfsDZ2tz+wJudA==")

View File

@@ -0,0 +1 @@
rn_("lQJBAAADCgKDCwIMAg0CDgIPAhACEQISAhMClzkCUQJSAlMCVAJVAlYCVwJYAlkCZml0owCzALQAtQC2ALcAuAC5ALoAuwA=")

View File

@@ -0,0 +1 @@
rn_("FQBFAAANawJhZwJoAhOCAqCgAAACamhz8wIBYTswAAABAAAGAAMAZAECAL4BAQBEAgEABQBCAAAUIwIkAmXgAFsDoFAAAAJBYWVp")

View File

@@ -0,0 +1 @@
rn_("gUIAAAsCDAINAg4CDwIQAhECEgITAjUAQAAAIkACRgJHAm3ZAdoB6gHrAQEAADswAAABAAAbAAIA3wAAADoBGgD7A2Rmbg==")

View File

@@ -1 +0,0 @@
rn_("BQHAAAAEiQBiPQBRAFIAUwBUAFUAVgBhZWFDAABNAGgAaQBqAGsAbABtAGFDAABMAGIAYwBkAGUAZgBnAPMAA2ZpcPMGAAAARAATAA==")

View File

@@ -0,0 +1 @@
rn_("BQHEAAAYYwJkAhllAmYCcnchQgAAvQEbAhwCBQBDAAAETgJlKALzggJldTFCAAA2ATcBOAE5AQEBADswAAABAAAbAAIAJAEAAJ4BGgAjgQKgcAAAAmFzdCUAQgAAIicCMgIzAm01AWIBYwEBAwA7MAAAAQAAGwACACMBAACDARoAIUQAAN4B7AHtAfcLAIigUAAAAh1wEUk6MAAAAQAAAAAAEAAQAAAApgCnAMQAxQDlAOYA3gHsAe0BIwIkAjYCNwI4AjoCOwJBAg==")

View File

@@ -0,0 +1 @@
rd_("gdashmapgmatchit")

View File

@@ -1 +0,0 @@
rd_("gmatchit")

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
rd_("CjTries to find a value in the router matching the given \xe2\x80\xa6CmReturns the value of the first parameter registered under \xe2\x80\xa6BaReturns the number of parameters.AgConstruct a new router.AoReturns the argument unchanged.00000BaCalls <code>U::from(self)</code>.00000CdReturns an iterator over the parameters in the list.CjThe existing route that the insertion is conflicting with.CmA successful match consisting of the registered value and \xe2\x80\xa6BhThe value stored under the matched node.BoA list of parameters returned by a route match.mA URL router.;oInsert a route.CfThe route parameters. See parameters for more details.Ad<code>matchit</code>CnAttempted to insert a path that conflicts with an existing \xe2\x80\xa6AlNo matching route was found.DaReturns <code>true</code> if there are no parameters in the list.AgA failed match attempt.CgAn iterator over the keys and values of a route\xe2\x80\x99s \xe2\x80\xa6CiRepresents errors that can occur when inserting a new \xe2\x80\xa6BjParameters must be registered with a name.C`Only one parameter per route segment is allowed.CkCatch-all parameters are only allowed at the end of a path.BeThe path had an extra trailing slash.BfThe path was missing a trailing slash.")

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
rd_("Ad[79,13,80,73,60,0,0]Ag[79,13,80,51,132,113,0]Ag[79,13,80,51,118,113,0]Af[79,13,80,71,57,113,0]Ae[79,13,80,51,132,8,0]Ad[79,13,80,71,57,8,0]Cc[79,13,80,51,132,45,0,\"impl-Debug-for-InsertError\"]Ce[79,13,80,51,132,75,0,\"impl-Display-for-InsertError\"]Cb[79,13,80,51,118,45,0,\"impl-Debug-for-MatchError\"]Cd[79,13,80,51,118,75,0,\"impl-Display-for-MatchError\"]Ae[79,13,80,71,57,45,0]Ae[79,13,80,73,46,45,0]Ad[79,13,80,71,57,0,0]0<Af[79,13,80,71,119,22,0]Af[79,13,80,51,132,22,0]Af[79,13,80,51,118,22,0]Ae[79,13,80,71,57,22,0]Ae[79,13,80,73,60,22,0]Ae[79,13,80,73,46,22,0]Af[79,13,80,51,132,23,0]Af[79,13,80,71,119,24,0]Af[79,13,80,51,132,24,0]Af[79,13,80,51,118,24,0]Ae[79,13,80,71,57,24,0]Ae[79,13,80,73,60,24,0]Ae[79,13,80,73,46,24,0]=Af[79,13,80,71,119,90,0]Ad[79,14,131,0,88,0,0]Ab[79,5,80,73,0,0,0]Af[79,13,80,51,132,44,0]Af[79,13,80,51,118,44,0]Ae[79,13,80,71,57,44,0]Ae[79,13,80,73,60,44,0]Ad[79,14,80,73,46,0,0]Ab[79,5,80,71,0,0,0]6Ad[79,13,80,73,60,0,0]Af[79,13,80,71,119,54,0]Af[79,13,80,51,132,54,0]Af[79,13,80,51,118,54,0]Ae[79,13,80,71,57,54,0]Ae[79,13,80,73,60,54,0]Ae[79,13,80,73,46,54,0]68Ae[79,13,80,73,60,74,0]A`[79,3,0,0,0,0,0]Ae[79,13,80,71,119,7,0]Ae[79,13,80,51,132,7,0]Ae[79,13,80,51,118,7,0]Ad[79,13,80,71,57,7,0]Ad[79,13,80,73,60,7,0]Ad[79,13,80,73,46,7,0]Ae[79,15,80,51,132,0,0]Ae[79,15,80,51,118,0,0]Ad[79,13,80,71,57,0,0]Af[79,13,80,51,132,76,0]Af[79,13,80,51,118,76,0]Ae[79,13,80,71,57,76,0]Ae[79,13,80,73,60,76,0]Af[79,13,80,71,119,77,0]Af[79,13,80,51,132,77,0]Af[79,13,80,51,118,77,0]Ae[79,13,80,71,57,77,0]Ae[79,13,80,73,60,77,0]Ae[79,13,80,73,46,77,0]Af[79,13,80,71,119,78,0]Af[79,13,80,51,132,78,0]Af[79,13,80,51,118,78,0]Ae[79,13,80,71,57,78,0]Ae[79,13,80,73,60,78,0]Ae[79,13,80,73,46,78,0]Ag[79,13,80,71,119,135,0]Af[79,13,80,51,132,93,0]Af[79,13,80,51,118,93,0]Ab[79,6,80,51,0,0,0]Ab[79,5,80,71,0,0,0]Ag[79,13,80,71,119,111,0]Ag[79,13,80,51,132,111,0]Ag[79,13,80,51,118,111,0]Af[79,13,80,71,57,111,0]Af[79,13,80,73,60,111,0]Af[79,13,80,73,46,111,0]Af[79,13,80,51,132,76,0]Af[79,13,80,51,118,76,0]Ae[79,13,80,71,57,76,0]Ae[79,13,80,73,60,76,0];Ag[79,13,80,51,132,120,0]Af[79,13,80,71,57,120,0]Ae[79,15,80,51,132,0,0]00Ag[79,13,80,51,132,137,0]Ag[79,13,80,51,118,137,0]Af[79,13,80,71,57,137,0]Af[79,13,80,73,60,137,0]Ae[79,15,80,51,118,0,0]0")

View File

@@ -1 +0,0 @@
rd_("Cl[\"{{{Nf{{Gh{c}}}}{Nf{Bj}}}{{Gf{{El{{Nf{c}}}}Nl}}}{}}\",[\"T\"]]Ao[\"{{{Nf{A@h}}{Nf{A@h}}}Cb}\",[]]Am[\"{{{Nf{Nl}}{Nf{Nl}}}Cb}\",[]]Am[\"{{{Nf{Gb}}{Nf{Gb}}}Cb}\",[]]Ao[\"{{{Nf{A@h}}{Nf{A@h}}}Kh}\",[]]Am[\"{{{Nf{Gb}}{Nf{Gb}}}Kh}\",[]]B`[\"{{{Nf{A@h}}{Nf{BfN`}}}Gd}\",[]]0Ao[\"{{{Nf{Nl}}{Nf{BfN`}}}Gd}\",[]]0Ao[\"{{{Nf{Gb}}{Nf{BfN`}}}Gd}\",[]]Bi[\"{{{Nf{{El{c}}}}{Nf{BfN`}}}GdEj}\",[\"V\"]]C`[\"{{{Nf{Gb}}c}{{G`{{Nf{Bj}}}}}{{Ef{Bj}}}}\",[\"\"]]Ae[\"{{{Nf{Gb}}}Fh}\",[]]Ai[\"{{}{{Gh{c}}}{}}\",[\"T\"]]A`[\"{cc{}}\",[\"T\"]]00000Bf[\"{{{Nf{A@h}}{Nf{Bfc}}}EbFn}\",[\"__H\"]]Aa[\"{{}c{}}\",[\"U\"]]00000Ae[\"{{{Nf{Gb}}}Nn}\",[]]C`[\"{{{Nf{BfNn}}}{{G`{c}}}{}}\",[\"Iterator::Item\"]]m[\"{K`Gj}\",[]]Ag[\"{{{Nf{A@h}}}A@h}\",[]]Ae[\"{{{Nf{Nl}}}Nl}\",[]]Ae[\"{{{Nf{Gb}}}Gb}\",[]]Bf[\"{{{Nf{{Gh{c}}}}}{{Gh{c}}}Eh}\",[\"T\"]]k[\"{El}\",[]]D`[\"{{{Nf{Bf{Gh{c}}}}{Nf{Bj}}}{{Gf{{El{{Nf{Bfc}}}}Nl}}}{}}\",[\"T\"]]Ai[\"{Nf{{Nf{c}}}{}}\",[\"T\"]]00000Ck[\"{{{Nf{Bf{Gh{c}}}}ec}{{Gf{EbA@h}}}{}{{C`{Gj}}}}\",[\"T\",\"\"]]m[\"{ElGb}\",[]]?m[\"{NfGl}\",[]]00000Ae[\"{{{Nf{Gb}}}Cb}\",[]]Aa[\"{Nfc{}}\",[\"T\"]]000An[\"{c{{Gf{e}}}{}{}}\",[\"U\",\"T\"]]00000Ai[\"{{}{{Gf{c}}}{}}\",[\"U\"]]00000Aa[\"{{}c{}}\",[\"I\"]]m[\"{NfGj}\",[]]0Bc[\"{{{Nf{Bf}}}{{Nf{Bfc}}}{}}\",[\"T\"]]00000Am[\"{{Nf{Nf{Bfc}}}Eb{}}\",[\"T\"]]000Bg[\"{{{Nf{A@h}}{Nf{A@h}}}{{G`{Kh}}}}\",[]]Be[\"{{{Nf{Gb}}{Nf{Gb}}}{{G`{Kh}}}}\",[]]Ah[\"{{Nf{Jb{Bfl}}}Eb}\",[]]000")

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
rb_("Q0NuADswAAABAAAgAAIAcAAaAM4BBQA7MAAAAQAAQAAFAD8AAABUABoAMAEAAHoBCACeARoAOzAAAAEAADYAAwDqABoAGgEAAIMBGgAG1AEAANUBAAAUAgAAFQIAABkCAAAdAgAAOzAAAAEAACYABQA9AAAAlwAAACUBAADvARoACwIIAAc+AAAAuwAAABQBAABoAQAAaQEAAGoBAABEAgAABzIAAAAzAAAAbwAAAMIAAADDAAAARQIAAF0CAAA6MAAAAQAAAAAAHgAQAAAAHQAjACcAKAApACoAKwAsAC0ALgAvALwAvQC+AL8AyQDKAMsAzADlACcBLgFrAcgBywEYAikCOAI9Aj4CagI6MAAAAQAAAAAAFQAQAAAAMAAxADUAsQDAAMEAzQDOAAoBCwEMAS8BZQFtAc0B1gHsARoCKgJBAkICZwI6MAAAAQAAAAAAGAAQAAAABAA0ADYAUgCyAAgBJgEyAWQBZgFsAW4BvwHFAcYBzAHfAeABMQI2AjcCQwJJAmgCaQI6MAAAAQAAAAAADQAQAAAAlQCYAJkAmgCbAKsAtAAHAQ0BwgHHAeEBTwJrAjowAAABAAAAAAAOABAAAAAYABkAGwCSAJwAnQDnAOgAyQHoARYCSgJLAlsCXwI6MAAAAQAAAAAADQAQAAAAFQAaABwARQDEAOYACQEoAXcBeAHuARcCYwJlAjowAAABAAAAAAAKABAAAACRALMAtQAFARsBKwF5Ad4B7QEKAigCOjAAAAEAAAAAAAoAEAAAABQAFgBPAI4AtwAVASkBYAFiAcoBMgIFOAAAAJYAAABnAQAAUAIAAGECAAA6MAAAAQAAAAAAEwAQAAAAOgBGAEgAjQCPAJMAlACsALAA6QAGARIBcAHDAcQB6QE0AjUCXAJgAgQlAAAAOQAAAGQCAABmAgAABSQAAAA7AAAA4QAAABYBAAAsAQAAOjAAAAEAAAAAAAkAEAAAACYAUAATASoBMQE1AWEBYwEnAjMCAq0AAAA2AQAAAT8CAAAENwEAADgBAADZAQAA6gEAAAOvAAAA4gAAAEYCAAABOQEAAAKfAAAArgAAAAAC2gEAAOsBAAACQAIAAEcCAABCSmYAAAA7MAAAAQAAGgABAIMBGgAAAAU+AAAAFAEAAGgBAABpAQAAagEAAAJFAgAAXQIAADowAAABAAAAAAAZABAAAAAnACkAKgArACwALQAuAC8AvAC9AL4AvwDJAMoAywDMAOUAJwEuAWsByAHLARgCKQI4AmoCOjAAAAEAAAAAABUAEAAAADAAMQA1ALEAwADBAM0AzgAKAQsBDAEvAWUBbQHNAdYB7AEaAioCQQJCAmcCOjAAAAEAAAAAABcAEAAAADQANgBSALIACAEmATIBZAFmAWwBbgG/AcUBxgHMAd8B4AExAjYCNwJDAkkCaAJpAjowAAABAAAAAAANABAAAACVAJgAmQCaAJsAqwC0AAcBDQHCAccB4QFPAmsCOjAAAAEAAAAAAA0AEAAAABgAGQAbAJIAnACdAOcAyQHoARYCSgJLAlsCXwI6MAAAAQAAAAAADQAQAAAAFQAaABwARQDEAOYACQEoAXcBeAHuARcCYwJlAjowAAABAAAAAAAKABAAAACRALMAtQAFARsBKwF5Ad4B7QEKAigCOjAAAAEAAAAAAAoAEAAAABQAFgBPAI4AtwAVASkBYAFiAcoBMgIFOAAAAJYAAABnAQAAUAIAAGECAAA6MAAAAQAAAAAAEwAQAAAAOgBGAEgAjQCPAJMAlACsALAA6QAGARIBcAHDAcQB6QE0AjUCXAJgAgQlAAAAOQAAAGQCAABmAgAABSQAAAA7AAAA4QAAABYBAAAsAQAAOjAAAAEAAAAAAAkAEAAAACYAUAATASoBMQE1AWEBYwEnAjMCAq0AAAA2AQAAAT8CAAAENwEAADgBAADZAQAA6gEAAAOvAAAA4gAAAEYCAAABOQEAAAKfAAAArgAAAAAC2gEAAOsBAAACQAIAAEcCAABBT2IAAAAAAAAAAALLAQAAGAIAADowAAABAAAAAAAIABAAAAAwADEAwADBAM0AzgAvAc0BKgI6MAAAAQAAAAAADwAQAAAANAA2AFIAsgAmAWQBZgFsAW4BvwHMATECQwJJAmgCaQIHlQAAAKsAAAAHAQAAwgEAAMcBAADhAQAAawIAADowAAABAAAAAAAJABAAAAAbAJIAnACdAOcAyQHoARYCSgJLAjowAAABAAAAAAAIABAAAAAaABwARQDEAOYACQEoAe4BFwI6MAAAAQAAAAAACQAQAAAAkQCzALUABQEbASsBeQHeAe0BKAI6MAAAAQAAAAAACQAQAAAAFAAWAE8AtwAVASkBYAFiAcoBMgIFOAAAAJYAAABnAQAAUAIAAGECAAA6MAAAAQAAAAAAEwAQAAAAOgBGAEgAjQCPAJMAlACsALAA6QAGARIBcAHDAcQB6QE0AjUCXAJgAgQlAAAAOQAAAGQCAABmAgAABSQAAAA7AAAA4QAAABYBAAAsAQAAOjAAAAEAAAAAAAkAEAAAACYAUAATASoBMQE1AWEBYwEnAjMCAq0AAAA2AQAAAT8CAAAENwEAADgBAADZAQAA6gEAAAOvAAAA4gAAAEYCAAABOQEAAAKfAAAArgAAAAAC2gEAAOsBAAACQAIAAEcCAABObAAAAAAAAAAAAAHNAQAAAcwBAAAAApIAAADnAAAAAkUAAAAXAgAAAAHKAQAAAzgAAACWAAAAYQIAADowAAABAAAAAAALABAAAAA6AEYASACTAJQAsADpAAYBxAHpATQCNQIBOQAAAAUkAAAAOwAAAOEAAAAWAQAALAEAADowAAABAAAAAAAJABAAAAAmAFAAEwEqATEBNQFhAWMBJwIzAgKtAAAANgEAAAE/AgAABDcBAAA4AQAA2QEAAOoBAAADrwAAAOIAAABGAgAAATkBAAACnwAAAK4AAAAAAtoBAADrAQAAAkACAABHAgAARmoAAAAAAAAAAAAAAAAAAAAAAAc6AAAARgAAAEgAAACTAAAAlAAAALAAAADpAAAAAAE7AAAAAAGtAAAAAAE4AQAAAq8AAADiAAAAATkBAAACnwAAAK4AAAAAAtoBAADrAQAAAkACAABHAgAAQmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKfAAAArgAAAA==")

View File

@@ -1 +0,0 @@
rb_("R20AOzAAAAEAAAYAAgAgAAUAcQAAADswAAABAAARAAUAEwAAABkABQBOAAAAXgADAGgABQA7MAAAAQAACwACAD8ABQBiAAUAADswAAABAAAKAAIAJwAAAHgACQABMQAAAAEfAAAAAg8AAAAQAAAAAAEBAAAAAUUAAAABPgAAAEFuAAAAOzAAAAEAAAUAAQBiAAUAAAAAAAAAAAFFAAAA")

View File

@@ -0,0 +1 @@
rd_("atb()b->bEqbatbeq000bu8cAnycMapcOrdcRef0cShlcShrcSubccmp0cfmt000000000000000cget0000ckey0000000000clen000cmap000cmutcnew00cone000csetcshlcshrcstrcsubdFromdHashdIntodItemdIter0d_get0d_len0dbooldfrom00000000000000000000000000dhashdinto00000000000000000000000000diter00000dkeysdnext00000dpair00000dunitdviewdwitheAsRefeBitOreCloneeDebugeDerefeEntry0eFnMuteMatcheSizede_iter0e_view0ealterebitoreclear0eclone00000000ederef0000000eentry0eerroretupleeusizeevalue000000fAbsentfBitAndfBorrowfExtendfFnOncefHasherfLockedfOptionfOutputfParamsfRefMutfResult0fRouterfStringfTypeIdfVacantf_alter0f_clear0f_entry0fas_reffat_mutfbitandfborrow00000000000000000000000000fextend0fhasherfinsert00000fmapref0fparams0fremove00fretain0frouterfsetref0funwrapfvaluesgDashMapgDashSetgDefaultgDisplaygIterMutgPresentgToOwnedgTryFromgTryIntog_hasher0g_insert0g_remove0g_retain0gdashmapgdefault00gget_mut0gmatchitgpointergtry_getgtry_map000gtype_id00000000000000000000000000hConflict0hDerefMuthIteratorhNotFoundhOccupiedhOrderinghRawTablehRefMulti0hToStringh_get_mut0h_try_get0hcapacity00hcontainshinto_key00hinto_refhis_empty000hiter_muthiter_set0hmultiple000hpair_mut00hto_owned00000000htry_from00000000000000000000000000htry_into00000000000000000000000000iBorrowMutiFormatteriMappedRefiPartialEqiTryResulti_capacity0i_is_empty0i_iter_mut0ialter_allideref_mut00idowngradeifrom_iter0iinto_iter00000000iis_absentiis_lockedior_insertiread_onlyireferenceiremove_if0ito_string00itry_entryivalue_mut00jEquivalentjMatchErrorjOwningIter0jParamsIterjPartialOrdj_alter_all0j_remove_if0j_try_entry0jand_modifyjborrow_mut00000000000000000000000000jclone_fromjclone_into00000000jequivalent0jhash_usize0jinto_innerjis_presentjor_defaultjtry_result0jtry_unwrapkBuildHasherkInsertError0kRandomStatekRefMutMultikVacantEntry0kpartial_cmp0ktry_get_mutktry_reservekwith_hasher0lFromIteratorlIntoIteratorlMappedRefMutlReadOnlyViewlUnnamedParaml_shard_count0l_try_get_mut0lcontains_key0linsert_entry0lremove_entrymCloneToUninitmOccupiedEntry0mTooManyParamsm_contains_key0mget_key_valuemremove_if_mutmreplace_entrymshrink_to_fit0mwith_capacity0n_remove_if_mut0n_shrink_to_fit0ninto_read_onlynor_insert_withoInvalidCatchAlloRwLockReadGuardoTryReserveErroro_get_read_shard0oclone_to_uninit00000000A`RwLockWriteGuardAa_yield_read_shard0Aawith_shard_amountAbExtraTrailingSlashAb_yield_write_shard0Abor_try_insert_withAdMissingTrailingSlashAe_try_yield_read_shard0Af_try_yield_write_shard0Ahwith_capacity_and_hasher0Alwith_hasher_and_shard_amountAnwith_capacity_and_shard_amountBiwith_capacity_and_hasher_and_shard_amount")

View File

@@ -1 +0,0 @@
rd_("b()batbeq00bu8cAnycOrdccmp0cfmt00000cgetclencmutcnewcstrdFromdHashdIntodbooldfrom00000dhashdinto00000diterdnextdunitdwitheAsRefeCloneeDebugeMatcheclone000eerroreusizeevaluefBorrowfHasherfOptionfParamsfResult0fRouterfStringfTypeIdfat_mutfborrow00000finsertfparams0froutergDefaultgDisplaygToOwnedgTryFromgTryIntogdefaultgmatchitgpointergtype_id00000hConflict0hIteratorhNotFoundhOrderinghToStringhis_emptyhto_owned000htry_from00000htry_into00000iBorrowMutiFormatteriPartialEqiinto_iterireferenceito_string0jMatchErrorjParamsIterjPartialOrdjborrow_mut00000jclone_into000kInsertError0kpartial_cmp0lIntoIteratorlUnnamedParammCloneToUninitmTooManyParamsoInvalidCatchAlloclone_to_uninit000AbExtraTrailingSlashAdMissingTrailingSlash")

View File

@@ -0,0 +1 @@
rd_("atb()b->beqbat1111bu8canycmapcordcref0cshlcshrcsubccmp0cfmt000000000000000cget0000ckey0000000000clen000::::cmutcnew00cone000cset;:cstr:dfromdhashdintoditemditer0<<::dbool5555555555555555555555555554333333333333333333333333333111111dkeysdnext00000dpair00000dunitdviewdwitheasrefebitorecloneedebugederefeentry0efnmutematchesizedditer0;;ealter9eclear09999999997777777766eerroretupleeusizeevalue000000fabsentfbitandfborrowfextendffnoncefhasherflockedfoptionfoutputfparamsfrefmutfresult0frouterfstringftypeidfvacantealter0eclear0eentry0easrefeatmutfbitandfborrow00000000000000000000000000fextend0fhasherfinsert00000fmapref0fparams0fremove00fretain0frouterfsetref0funwrapfvaluesgdashmapgdashsetgdefaultgdisplaygitermutgpresentgtoownedgtryfromgtryintofhasher0finsert0fremove0fretain0<:::fgetmut0gmatchitgpointerftrygetftrymap000ftypeid00000000000000000000000000hconflict0hderefmuthiteratorhnotfoundhoccupiedhorderinghrawtablehrefmulti0htostring>>;;hcapacity00hcontainsgintokey00gintorefgisempty000gitermutgiterset0hmultiple000gpairmut00gtoowned00000000gtryfrom00000000000000000000000000gtryinto00000000000000000000000000iborrowmutiformatterimappedrefipartialeqitryresulthcapacity0==<<halterallhderefmut00idowngradehfromiter0hintoiter00000000hisabsenthislockedhorinserthreadonlyireferencehremoveif0htostring00htryentryhvaluemut00jequivalentjmatcherrorjowningiter0jparamsiterjpartialordhalterall09977iandmodifyiborrowmut00000000000000000000000000iclonefromicloneinto0000000099ihashusize0iintoinneriispresentiordefaultitryresult0itryunwrapkbuildhasherkinserterror0krandomstatekrefmutmultikvacantentry0jpartialcmp0itrygetmutjtryreservejwithhasher0lfromiteratorlintoiteratorlmappedrefmutlreadonlyviewlunnamedparamjshardcount088kcontainskey0kinsertentry0kremoveentrymclonetouninitmoccupiedentry0mtoomanyparams55kgetkeyvaluekremoveifmutlreplaceentrykshrinktofit0lwithcapacity03311lintoreadonlylorinsertwithoinvalidcatchallorwlockreadguardotryreserveerrorlgetreadshard0=========A`rwlockwriteguardnyieldreadshard0owithshardamountAbextratrailingslashoyieldwriteshard0oortryinsertwithAdmissingtrailingslashAatryyieldreadshard0Abtryyieldwriteshard0Aewithcapacityandhasher0AhwithhasherandshardamountAjwithcapacityandshardamountBcwithcapacityandhasherandshardamount")

View File

@@ -1 +0,0 @@
rd_("b()batbeq00bu8canycordccmp0cfmt00000cgetclencmutcnewcstrdfromdhashdintodbool3333332111111diterdnextdunitdwitheasrefecloneedebugematch2222eerroreusizeevaluefborrowfhasherfoptionfparamsfresult0frouterfstringftypeideatmut888888finsert664gdefaultgdisplaygtoownedgtryfromgtryinto4gmatchitgpointer999999hconflict0hiteratorhnotfoundhorderinghtostringgisempty::::999999888888iborrowmutiformatteripartialeqhintoiterireference66jmatcherrorjparamsiterjpartialord777777icloneinto000kinserterror0jpartialcmp0lintoiteratorlunnamedparammclonetouninitmtoomanyparamsoinvalidcatchall2222AbextratrailingslashAdmissingtrailingslash")

View File

@@ -0,0 +1 @@
rd_("m[2,\"dashmap\"]f[1,\"\"]0Al[10,\"core::cmp\",\"core::cmp\"]1A`[10,\"core::any\"]Ak[10,\"dashmap\",\"dashmap::t\"]A`[10,\"core::cmp\"]Ca[5,\"dashmap::mapref::one\",\"dashmap::mapref::one\"]Ca[5,\"dashmap::setref::one\",\"dashmap::setref::one\"]Ae[10,\"core::ops::bit\"]0Ag[10,\"core::ops::arith\"]f[0,\"\"]Ae[2,\"dashmap::mapref\"]Ae[2,\"dashmap::setref\"]<;Ad[10,\"core::convert\"]Aa[10,\"core::hash\"]1g[17,\"\"]Bc[5,\"dashmap::iter\",\"dashmap::iter\"]Bk[5,\"dashmap::iter_set\",\"dashmap::iter_set\"]f[1,\"\"]m[2,\"dashmap\"]1Bd[10,\"core::convert\",\"core::convert\"]<Ab[10,\"core::clone\"]A`[10,\"core::fmt\"]Ag[10,\"core::ops::deref\"]Ce[6,\"dashmap::mapref::entry\",\"dashmap::mapref::entry\"]Al[10,\"core::ops\",\"core::ops\"]Ao[5,\"matchit\",\"matchit::router\"]Bb[10,\"core::marker\",\"core::marker\"]Ae[2,\"dashmap::mapref\"]m[2,\"matchit\"];;Ae[10,\"core::ops::bit\"]Ac[10,\"core::borrow\"]Bb[10,\"core::iter::traits::collect\"]7An[10,\"core::hash\",\"core::hash\"]Ba[6,\"core::option\",\"core::option\"]g[17,\"\"]Ao[5,\"matchit\",\"matchit::params\"]Ca[5,\"dashmap::mapref::one\",\"dashmap::mapref::one\"]Ak[8,\"core::fmt\",\"core::fmt\"]Ba[6,\"core::result\",\"core::result\"]=Bc[5,\"alloc::string\",\"alloc::string\"]Ak[5,\"core::any\",\"core::any\"]m[2,\"dashmap\"]==0Ag[5,\"dashmap\",\"dashmap\"]Al[5,\"dashmap\",\"dashmap::set\"]Ad[10,\"core::default\"]A`[10,\"core::fmt\"]Bc[5,\"dashmap::iter\",\"dashmap::iter\"]Ad[10,\"alloc::borrow\"]Ad[10,\"core::convert\"]0f[3,\"\"]0f[1,\"\"]Ak[15,\"matchit::InsertError\"]Ag[10,\"core::ops::deref\"]Bc[10,\"core::iter::traits::iterator\"]Ak[6,\"core::cmp\",\"core::cmp\"]Cc[5,\"hashbrown::raw::inner\",\"hashbrown::raw::inner\"]Ck[5,\"dashmap::mapref::multiple\",\"dashmap::mapref::multiple\"]Ck[5,\"dashmap::setref::multiple\",\"dashmap::setref::multiple\"]Ad[10,\"alloc::string\"]m[2,\"dashmap\"]Ae[2,\"dashmap::mapref\"]Ae[2,\"dashmap::setref\"]Ac[10,\"core::borrow\"]Ak[5,\"core::fmt\",\"core::fmt\"]Ca[5,\"dashmap::mapref::one\",\"dashmap::mapref::one\"]A`[10,\"core::cmp\"]Bo[6,\"dashmap::try_result\",\"dashmap::try_result\"]7f[1,\"\"]A`[10,\"hashbrown\"]An[6,\"matchit\",\"matchit::error\"]Bc[5,\"dashmap::iter\",\"dashmap::iter\"]Bk[5,\"dashmap::iter_set\",\"dashmap::iter_set\"]Ao[5,\"matchit\",\"matchit::params\"]7=An[10,\"core::hash\",\"core::hash\"]m[2,\"matchit\"]5Bk[5,\"std::hash::random\",\"std::hash::random\"]Ck[5,\"dashmap::mapref::multiple\",\"dashmap::mapref::multiple\"]Ce[5,\"dashmap::mapref::entry\",\"dashmap::mapref::entry\"]Bb[10,\"core::iter::traits::collect\"]0>Bb[5,\"dashmap\",\"dashmap::read_only\"]Ab[10,\"core::clone\"]3Bi[5,\"lock_api::rwlock\",\"lock_api::rwlock\"]Ag[5,\"dashmap\",\"dashmap\"]1")

View File

@@ -1 +0,0 @@
rd_("f[1,\"\"]0A`[10,\"core::any\"]A`[10,\"core::cmp\"]f[0,\"\"]3Ad[10,\"core::convert\"]Aa[10,\"core::hash\"]155Bd[10,\"core::convert\",\"core::convert\"]Ab[10,\"core::clone\"]A`[10,\"core::fmt\"]Ao[5,\"matchit\",\"matchit::router\"]m[2,\"matchit\"]:Ac[10,\"core::borrow\"]An[10,\"core::hash\",\"core::hash\"]Ba[6,\"core::option\",\"core::option\"]Ao[5,\"matchit\",\"matchit::params\"]Ak[8,\"core::fmt\",\"core::fmt\"]Ba[6,\"core::result\",\"core::result\"]7Bc[5,\"alloc::string\",\"alloc::string\"]Ak[5,\"core::any\",\"core::any\"]88Ad[10,\"core::default\"];Ad[10,\"alloc::borrow\"]Ad[10,\"core::convert\"]0f[3,\"\"]f[1,\"\"]Ak[15,\"matchit::InsertError\"]Bc[10,\"core::iter::traits::iterator\"]Ak[6,\"core::cmp\",\"core::cmp\"]Ad[10,\"alloc::string\"]Ac[10,\"core::borrow\"]Ak[5,\"core::fmt\",\"core::fmt\"]A`[10,\"core::cmp\"]7An[6,\"matchit\",\"matchit::error\"]Ao[5,\"matchit\",\"matchit::params\"]2m[2,\"matchit\"]2Bb[10,\"core::iter::traits::collect\"]Ab[10,\"core::clone\"]")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
rd_("Ck[\"\",\"AAAAAAA7MAAAAQAABwACAH4AAwCLAAMAAAEfAAAAAAAAAUUAAAA=\"]Bg[\"AAAAAAAEiwAAAIwAAACNAAAAjgAAAA==\",\"\"]Ic[\"AAAAAAA7MAAAAQAADgADACcAAAB4AAkAiwADAAUKAAAACwAAAAwAAAANAAAADgAAAAEfAAAAAQ8AAAAAAAFFAAAAAT4AAAA=\",\"AAAAAAA7MAAAAQAABQABAHgABQAAAAAAAAABPgAAAA==\"]Co[\"AAAAAAAAAAABEAAAAAABAQAAAAABPgAAAA==\",\"AAAAAAAAAAABEAAAAA==\"]Ba[\"AAAAAAAAAAAAAAABRQAAAA==\",\"\",1]Bg[\"\",\"AAAAAV0AAAAAAwIAAAADAAAABAAAAA==\"]5Ak[\"AAAAAAAAAAABEAAAAA==\",\"\"]Bg[\"AAAAAAAAATEAAAA=\",\"AAAAAAAAATEAAAA=\"]Ak[\"AAAAAAAAAAABDwAAAA==\",\"\"]Do[\"AAAAAAAAAAABDwAAAAAAAAAAAAAAATQAAAABRwAAAA==\",\"AAAAAAAAAAAAAAEBAAAAAAE+AAAA\"]Ac[\"\",\"AAAAAREAAAA=\"]Ag[\"AAAAAAAAAAEfAAAA\",\"\"]Bm[\"\",\"AAAAAAABJwAAAAKEAAAAhQAAAAABEAAAAA==\",1]Fg[\"AAAABBEAAAAmAAAAMAAAAF0AAAAAAgQAAAAJAAAAAg4AAACFAAAAAAEQAAAA\",\"AAAAATAAAAAAAAAAAAAAAAAAAAAAAAFHAAAA\"]Cc[\"\",\"AAAAAAAABQoAAAALAAAADAAAAA0AAAAOAAAAAAEPAAAA\"]Ea[\"\",\"AAA7MAAAAQAABQABAGgABQA7MAAAAQAABQABAGIABQAAAAAAAAABAQAAAAFFAAAAAT4AAAA=\",1]Dk[\"AAAAAAAAATEAAAAAAAABAQAAAAFFAAAAAT4AAAA=\",\"AAACEwAAAE4AAAAAAAABMQAAAA==\"]Dk[\"AAAAAAAAAAAAAAABRQAAAA==\",\"AAACcwAAAHQAAAAAAAAAAAAAAAAAAAAAAAABKQAAAA==\"]Ao[\"\",\"AAA7MAAAAQAABQABAFEABQA=\"]Bi[\"AAAAAAAEiwAAAIwAAACNAAAAjgAAAA==\",\"\",1]Bg[\"AAAAAAAAAAAAAAAAAAAAAAAAASkAAAA=\",\"\"]Bg[\"\",\"AAAAAAACCAAAAAkAAAAChAAAAIUAAAA=\"]Cc[\"AAAAAAAABQoAAAALAAAADAAAAA0AAAAOAAAAAAEPAAAA\",\"\"]A@m[\"AAA7MAAAAQAACwADAFEABQBeAAMAcwABADswAAABAAALAAUAEQAAACYAAAAuAAIAPwAFAF0AAAAAOzAAAAEAABMABQACAAIACAABACcAAAB4AAkAiwADADswAAABAAAHAAMACgAEADEAAACEAAEAAR8AAAACDwAAABAAAAAAAQEAAAABRQAAAAE+AAAA\",\"AAAAOzAAAAEAAAUAAQA/AAUAADswAAABAAAFAAEAeAAFAAAAARAAAAAAAQEAAAAAAT4AAAA=\",1]Dk[\"AAAAAS8AAAAAAQMAAAACDAAAAA0AAAA=\",\"AAAAAS8AAAAAAAAAAAABAQAAAAABPgAAAA==\"]Bc[\"AAAAAAABJwAAAA==\",\"AAAAASYAAAA=\"]Ec[\"AAAAAS4AAAAAAgIAAAAIAAAAAwoAAAALAAAAhAAAAAEfAAAA\",\"AAAAAS4AAAAAAAAAAAAAAUUAAAA=\"]")

View File

@@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-9960930a.css"><link rel="stylesheet" href="./static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="matchit" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="./static.files/storage-e2aeef58.js"></script><script defer src="./static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.93.1</span></h2></div><div class="version">(01f6ddf75 2026-02-11)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-c38705f0.js"></script></section></div></main></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-9960930a.css"><link rel="stylesheet" href="./static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="./static.files/storage-e2aeef58.js"></script><script defer src="./static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.93.1</span></h2></div><div class="version">(01f6ddf75 2026-02-11)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-c38705f0.js"></script></section></div></main></body></html>

View File

@@ -1,2 +1,2 @@
createSrcSidebar('[["matchit",["",[],["error.rs","lib.rs","params.rs","router.rs","tree.rs"]]]]');
//{"start":19,"fragment_lengths":[75]}
createSrcSidebar('[["dashmap",["",[["mapref",[],["entry.rs","mod.rs","multiple.rs","one.rs"]],["setref",[],["mod.rs","multiple.rs","one.rs"]]],["iter.rs","iter_set.rs","lib.rs","lock.rs","read_only.rs","set.rs","t.rs","try_result.rs","util.rs"]]],["matchit",["",[],["error.rs","lib.rs","params.rs","router.rs","tree.rs"]]]]');
//{"start":19,"fragment_lengths":[227,76]}

View File

@@ -0,0 +1,311 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\iter.rs`."><title>iter.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../../static.files/src-script-813739b1.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap/</div>iter.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-3"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">use </span><span class="kw">super</span>::mapref::multiple::{RefMulti, RefMutMulti};
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">use </span><span class="kw">crate</span>::lock::{RwLockReadGuard, RwLockWriteGuard};
<a href=#3 id=3 data-nosnippet>3</a><span class="kw">use </span><span class="kw">crate</span>::t::Map;
<a href=#4 id=4 data-nosnippet>4</a><span class="kw">use </span><span class="kw">crate</span>::util::SharedValue;
<a href=#5 id=5 data-nosnippet>5</a><span class="kw">use crate</span>::{DashMap, HashMap};
<a href=#6 id=6 data-nosnippet>6</a><span class="kw">use </span>core::hash::{BuildHasher, Hash};
<a href=#7 id=7 data-nosnippet>7</a><span class="kw">use </span>core::mem;
<a href=#8 id=8 data-nosnippet>8</a><span class="kw">use </span>std::collections::hash_map::RandomState;
<a href=#9 id=9 data-nosnippet>9</a><span class="kw">use </span>std::marker::PhantomData;
<a href=#10 id=10 data-nosnippet>10</a><span class="kw">use </span>std::sync::Arc;
<a href=#11 id=11 data-nosnippet>11</a>
<a href=#12 id=12 data-nosnippet>12</a><span class="doccomment">/// Iterator over a DashMap yielding key value pairs.
<a href=#13 id=13 data-nosnippet>13</a>///
<a href=#14 id=14 data-nosnippet>14</a>/// # Examples
<a href=#15 id=15 data-nosnippet>15</a>///
<a href=#16 id=16 data-nosnippet>16</a>/// ```
<a href=#17 id=17 data-nosnippet>17</a>/// use dashmap::DashMap;
<a href=#18 id=18 data-nosnippet>18</a>///
<a href=#19 id=19 data-nosnippet>19</a>/// let map = DashMap::new();
<a href=#20 id=20 data-nosnippet>20</a>/// map.insert("hello", "world");
<a href=#21 id=21 data-nosnippet>21</a>/// map.insert("alex", "steve");
<a href=#22 id=22 data-nosnippet>22</a>/// let pairs: Vec&lt;(&amp;'static str, &amp;'static str)&gt; = map.into_iter().collect();
<a href=#23 id=23 data-nosnippet>23</a>/// assert_eq!(pairs.len(), 2);
<a href=#24 id=24 data-nosnippet>24</a>/// ```
<a href=#25 id=25 data-nosnippet>25</a></span><span class="kw">pub struct </span>OwningIter&lt;K, V, S = RandomState&gt; {
<a href=#26 id=26 data-nosnippet>26</a> map: DashMap&lt;K, V, S&gt;,
<a href=#27 id=27 data-nosnippet>27</a> shard_i: usize,
<a href=#28 id=28 data-nosnippet>28</a> current: <span class="prelude-ty">Option</span>&lt;GuardOwningIter&lt;K, V&gt;&gt;,
<a href=#29 id=29 data-nosnippet>29</a>}
<a href=#30 id=30 data-nosnippet>30</a>
<a href=#31 id=31 data-nosnippet>31</a><span class="kw">impl</span>&lt;K: Eq + Hash, V, S: BuildHasher + Clone&gt; OwningIter&lt;K, V, S&gt; {
<a href=#32 id=32 data-nosnippet>32</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new(map: DashMap&lt;K, V, S&gt;) -&gt; <span class="self">Self </span>{
<a href=#33 id=33 data-nosnippet>33</a> <span class="self">Self </span>{
<a href=#34 id=34 data-nosnippet>34</a> map,
<a href=#35 id=35 data-nosnippet>35</a> shard_i: <span class="number">0</span>,
<a href=#36 id=36 data-nosnippet>36</a> current: <span class="prelude-val">None</span>,
<a href=#37 id=37 data-nosnippet>37</a> }
<a href=#38 id=38 data-nosnippet>38</a> }
<a href=#39 id=39 data-nosnippet>39</a>}
<a href=#40 id=40 data-nosnippet>40</a>
<a href=#41 id=41 data-nosnippet>41</a><span class="kw">type </span>GuardOwningIter&lt;K, V&gt; = hashbrown::raw::RawIntoIter&lt;(K, SharedValue&lt;V&gt;)&gt;;
<a href=#42 id=42 data-nosnippet>42</a>
<a href=#43 id=43 data-nosnippet>43</a><span class="kw">impl</span>&lt;K: Eq + Hash, V, S: BuildHasher + Clone&gt; Iterator <span class="kw">for </span>OwningIter&lt;K, V, S&gt; {
<a href=#44 id=44 data-nosnippet>44</a> <span class="kw">type </span>Item = (K, V);
<a href=#45 id=45 data-nosnippet>45</a>
<a href=#46 id=46 data-nosnippet>46</a> <span class="kw">fn </span>next(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt; {
<a href=#47 id=47 data-nosnippet>47</a> <span class="kw">loop </span>{
<a href=#48 id=48 data-nosnippet>48</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(current) = <span class="self">self</span>.current.as_mut() {
<a href=#49 id=49 data-nosnippet>49</a> <span class="kw">if let </span><span class="prelude-val">Some</span>((k, v)) = current.next() {
<a href=#50 id=50 data-nosnippet>50</a> <span class="kw">return </span><span class="prelude-val">Some</span>((k, v.into_inner()));
<a href=#51 id=51 data-nosnippet>51</a> }
<a href=#52 id=52 data-nosnippet>52</a> }
<a href=#53 id=53 data-nosnippet>53</a>
<a href=#54 id=54 data-nosnippet>54</a> <span class="kw">if </span><span class="self">self</span>.shard_i == <span class="self">self</span>.map._shard_count() {
<a href=#55 id=55 data-nosnippet>55</a> <span class="kw">return </span><span class="prelude-val">None</span>;
<a href=#56 id=56 data-nosnippet>56</a> }
<a href=#57 id=57 data-nosnippet>57</a>
<a href=#58 id=58 data-nosnippet>58</a> <span class="comment">//let guard = unsafe { self.map._yield_read_shard(self.shard_i) };
<a href=#59 id=59 data-nosnippet>59</a> </span><span class="kw">let </span><span class="kw-2">mut </span>shard_wl = <span class="kw">unsafe </span>{ <span class="self">self</span>.map._yield_write_shard(<span class="self">self</span>.shard_i) };
<a href=#60 id=60 data-nosnippet>60</a>
<a href=#61 id=61 data-nosnippet>61</a> <span class="kw">let </span>map = mem::take(<span class="kw-2">&amp;mut *</span>shard_wl);
<a href=#62 id=62 data-nosnippet>62</a>
<a href=#63 id=63 data-nosnippet>63</a> drop(shard_wl);
<a href=#64 id=64 data-nosnippet>64</a>
<a href=#65 id=65 data-nosnippet>65</a> <span class="kw">let </span>iter = map.into_iter();
<a href=#66 id=66 data-nosnippet>66</a>
<a href=#67 id=67 data-nosnippet>67</a> <span class="comment">//unsafe { ptr::write(&amp;mut self.current, Some((arcee, iter))); }
<a href=#68 id=68 data-nosnippet>68</a> </span><span class="self">self</span>.current = <span class="prelude-val">Some</span>(iter);
<a href=#69 id=69 data-nosnippet>69</a>
<a href=#70 id=70 data-nosnippet>70</a> <span class="self">self</span>.shard_i += <span class="number">1</span>;
<a href=#71 id=71 data-nosnippet>71</a> }
<a href=#72 id=72 data-nosnippet>72</a> }
<a href=#73 id=73 data-nosnippet>73</a>}
<a href=#74 id=74 data-nosnippet>74</a>
<a href=#75 id=75 data-nosnippet>75</a><span class="kw">unsafe impl</span>&lt;K, V, S&gt; Send <span class="kw">for </span>OwningIter&lt;K, V, S&gt;
<a href=#76 id=76 data-nosnippet>76</a><span class="kw">where
<a href=#77 id=77 data-nosnippet>77</a> </span>K: Eq + Hash + Send,
<a href=#78 id=78 data-nosnippet>78</a> V: Send,
<a href=#79 id=79 data-nosnippet>79</a> S: BuildHasher + Clone + Send,
<a href=#80 id=80 data-nosnippet>80</a>{
<a href=#81 id=81 data-nosnippet>81</a>}
<a href=#82 id=82 data-nosnippet>82</a>
<a href=#83 id=83 data-nosnippet>83</a><span class="kw">unsafe impl</span>&lt;K, V, S&gt; Sync <span class="kw">for </span>OwningIter&lt;K, V, S&gt;
<a href=#84 id=84 data-nosnippet>84</a><span class="kw">where
<a href=#85 id=85 data-nosnippet>85</a> </span>K: Eq + Hash + Sync,
<a href=#86 id=86 data-nosnippet>86</a> V: Sync,
<a href=#87 id=87 data-nosnippet>87</a> S: BuildHasher + Clone + Sync,
<a href=#88 id=88 data-nosnippet>88</a>{
<a href=#89 id=89 data-nosnippet>89</a>}
<a href=#90 id=90 data-nosnippet>90</a>
<a href=#91 id=91 data-nosnippet>91</a><span class="kw">type </span>GuardIter&lt;<span class="lifetime">'a</span>, K, V&gt; = (
<a href=#92 id=92 data-nosnippet>92</a> Arc&lt;RwLockReadGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#93 id=93 data-nosnippet>93</a> hashbrown::raw::RawIter&lt;(K, SharedValue&lt;V&gt;)&gt;,
<a href=#94 id=94 data-nosnippet>94</a>);
<a href=#95 id=95 data-nosnippet>95</a>
<a href=#96 id=96 data-nosnippet>96</a><span class="kw">type </span>GuardIterMut&lt;<span class="lifetime">'a</span>, K, V&gt; = (
<a href=#97 id=97 data-nosnippet>97</a> Arc&lt;RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#98 id=98 data-nosnippet>98</a> hashbrown::raw::RawIter&lt;(K, SharedValue&lt;V&gt;)&gt;,
<a href=#99 id=99 data-nosnippet>99</a>);
<a href=#100 id=100 data-nosnippet>100</a>
<a href=#101 id=101 data-nosnippet>101</a><span class="doccomment">/// Iterator over a DashMap yielding immutable references.
<a href=#102 id=102 data-nosnippet>102</a>///
<a href=#103 id=103 data-nosnippet>103</a>/// # Examples
<a href=#104 id=104 data-nosnippet>104</a>///
<a href=#105 id=105 data-nosnippet>105</a>/// ```
<a href=#106 id=106 data-nosnippet>106</a>/// use dashmap::DashMap;
<a href=#107 id=107 data-nosnippet>107</a>///
<a href=#108 id=108 data-nosnippet>108</a>/// let map = DashMap::new();
<a href=#109 id=109 data-nosnippet>109</a>/// map.insert("hello", "world");
<a href=#110 id=110 data-nosnippet>110</a>/// assert_eq!(map.iter().count(), 1);
<a href=#111 id=111 data-nosnippet>111</a>/// ```
<a href=#112 id=112 data-nosnippet>112</a></span><span class="kw">pub struct </span>Iter&lt;<span class="lifetime">'a</span>, K, V, S = RandomState, M = DashMap&lt;K, V, S&gt;&gt; {
<a href=#113 id=113 data-nosnippet>113</a> map: <span class="kw-2">&amp;</span><span class="lifetime">'a </span>M,
<a href=#114 id=114 data-nosnippet>114</a> shard_i: usize,
<a href=#115 id=115 data-nosnippet>115</a> current: <span class="prelude-ty">Option</span>&lt;GuardIter&lt;<span class="lifetime">'a</span>, K, V&gt;&gt;,
<a href=#116 id=116 data-nosnippet>116</a> marker: PhantomData&lt;S&gt;,
<a href=#117 id=117 data-nosnippet>117</a>}
<a href=#118 id=118 data-nosnippet>118</a>
<a href=#119 id=119 data-nosnippet>119</a><span class="kw">impl</span>&lt;<span class="lifetime">'i</span>, K: Clone + Hash + Eq, V: Clone, S: Clone + BuildHasher&gt; Clone <span class="kw">for </span>Iter&lt;<span class="lifetime">'i</span>, K, V, S&gt; {
<a href=#120 id=120 data-nosnippet>120</a> <span class="kw">fn </span>clone(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="self">Self </span>{
<a href=#121 id=121 data-nosnippet>121</a> Iter::new(<span class="self">self</span>.map)
<a href=#122 id=122 data-nosnippet>122</a> }
<a href=#123 id=123 data-nosnippet>123</a>}
<a href=#124 id=124 data-nosnippet>124</a>
<a href=#125 id=125 data-nosnippet>125</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, V, S, M&gt; Send <span class="kw">for </span>Iter&lt;<span class="lifetime">'i</span>, K, V, S, M&gt;
<a href=#126 id=126 data-nosnippet>126</a><span class="kw">where
<a href=#127 id=127 data-nosnippet>127</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Send,
<a href=#128 id=128 data-nosnippet>128</a> V: <span class="lifetime">'a </span>+ Send,
<a href=#129 id=129 data-nosnippet>129</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#130 id=130 data-nosnippet>130</a> M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;,
<a href=#131 id=131 data-nosnippet>131</a>{
<a href=#132 id=132 data-nosnippet>132</a>}
<a href=#133 id=133 data-nosnippet>133</a>
<a href=#134 id=134 data-nosnippet>134</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, V, S, M&gt; Sync <span class="kw">for </span>Iter&lt;<span class="lifetime">'i</span>, K, V, S, M&gt;
<a href=#135 id=135 data-nosnippet>135</a><span class="kw">where
<a href=#136 id=136 data-nosnippet>136</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Sync,
<a href=#137 id=137 data-nosnippet>137</a> V: <span class="lifetime">'a </span>+ Sync,
<a href=#138 id=138 data-nosnippet>138</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#139 id=139 data-nosnippet>139</a> M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;,
<a href=#140 id=140 data-nosnippet>140</a>{
<a href=#141 id=141 data-nosnippet>141</a>}
<a href=#142 id=142 data-nosnippet>142</a>
<a href=#143 id=143 data-nosnippet>143</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;&gt; Iter&lt;<span class="lifetime">'a</span>, K, V, S, M&gt; {
<a href=#144 id=144 data-nosnippet>144</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new(map: <span class="kw-2">&amp;</span><span class="lifetime">'a </span>M) -&gt; <span class="self">Self </span>{
<a href=#145 id=145 data-nosnippet>145</a> <span class="self">Self </span>{
<a href=#146 id=146 data-nosnippet>146</a> map,
<a href=#147 id=147 data-nosnippet>147</a> shard_i: <span class="number">0</span>,
<a href=#148 id=148 data-nosnippet>148</a> current: <span class="prelude-val">None</span>,
<a href=#149 id=149 data-nosnippet>149</a> marker: PhantomData,
<a href=#150 id=150 data-nosnippet>150</a> }
<a href=#151 id=151 data-nosnippet>151</a> }
<a href=#152 id=152 data-nosnippet>152</a>}
<a href=#153 id=153 data-nosnippet>153</a>
<a href=#154 id=154 data-nosnippet>154</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;&gt; Iterator
<a href=#155 id=155 data-nosnippet>155</a> <span class="kw">for </span>Iter&lt;<span class="lifetime">'a</span>, K, V, S, M&gt;
<a href=#156 id=156 data-nosnippet>156</a>{
<a href=#157 id=157 data-nosnippet>157</a> <span class="kw">type </span>Item = RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt;;
<a href=#158 id=158 data-nosnippet>158</a>
<a href=#159 id=159 data-nosnippet>159</a> <span class="kw">fn </span>next(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt; {
<a href=#160 id=160 data-nosnippet>160</a> <span class="kw">loop </span>{
<a href=#161 id=161 data-nosnippet>161</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(current) = <span class="self">self</span>.current.as_mut() {
<a href=#162 id=162 data-nosnippet>162</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(b) = current.<span class="number">1</span>.next() {
<a href=#163 id=163 data-nosnippet>163</a> <span class="kw">return unsafe </span>{
<a href=#164 id=164 data-nosnippet>164</a> <span class="kw">let </span>(k, v) = b.as_ref();
<a href=#165 id=165 data-nosnippet>165</a> <span class="kw">let </span>guard = current.<span class="number">0</span>.clone();
<a href=#166 id=166 data-nosnippet>166</a> <span class="prelude-val">Some</span>(RefMulti::new(guard, k, v.get()))
<a href=#167 id=167 data-nosnippet>167</a> };
<a href=#168 id=168 data-nosnippet>168</a> }
<a href=#169 id=169 data-nosnippet>169</a> }
<a href=#170 id=170 data-nosnippet>170</a>
<a href=#171 id=171 data-nosnippet>171</a> <span class="kw">if </span><span class="self">self</span>.shard_i == <span class="self">self</span>.map._shard_count() {
<a href=#172 id=172 data-nosnippet>172</a> <span class="kw">return </span><span class="prelude-val">None</span>;
<a href=#173 id=173 data-nosnippet>173</a> }
<a href=#174 id=174 data-nosnippet>174</a>
<a href=#175 id=175 data-nosnippet>175</a> <span class="kw">let </span>guard = <span class="kw">unsafe </span>{ <span class="self">self</span>.map._yield_read_shard(<span class="self">self</span>.shard_i) };
<a href=#176 id=176 data-nosnippet>176</a>
<a href=#177 id=177 data-nosnippet>177</a> <span class="kw">let </span>iter = <span class="kw">unsafe </span>{ guard.iter() };
<a href=#178 id=178 data-nosnippet>178</a>
<a href=#179 id=179 data-nosnippet>179</a> <span class="self">self</span>.current = <span class="prelude-val">Some</span>((Arc::new(guard), iter));
<a href=#180 id=180 data-nosnippet>180</a>
<a href=#181 id=181 data-nosnippet>181</a> <span class="self">self</span>.shard_i += <span class="number">1</span>;
<a href=#182 id=182 data-nosnippet>182</a> }
<a href=#183 id=183 data-nosnippet>183</a> }
<a href=#184 id=184 data-nosnippet>184</a>}
<a href=#185 id=185 data-nosnippet>185</a>
<a href=#186 id=186 data-nosnippet>186</a><span class="doccomment">/// Iterator over a DashMap yielding mutable references.
<a href=#187 id=187 data-nosnippet>187</a>///
<a href=#188 id=188 data-nosnippet>188</a>/// # Examples
<a href=#189 id=189 data-nosnippet>189</a>///
<a href=#190 id=190 data-nosnippet>190</a>/// ```
<a href=#191 id=191 data-nosnippet>191</a>/// use dashmap::DashMap;
<a href=#192 id=192 data-nosnippet>192</a>///
<a href=#193 id=193 data-nosnippet>193</a>/// let map = DashMap::new();
<a href=#194 id=194 data-nosnippet>194</a>/// map.insert("Johnny", 21);
<a href=#195 id=195 data-nosnippet>195</a>/// map.iter_mut().for_each(|mut r| *r += 1);
<a href=#196 id=196 data-nosnippet>196</a>/// assert_eq!(*map.get("Johnny").unwrap(), 22);
<a href=#197 id=197 data-nosnippet>197</a>/// ```
<a href=#198 id=198 data-nosnippet>198</a></span><span class="kw">pub struct </span>IterMut&lt;<span class="lifetime">'a</span>, K, V, S = RandomState, M = DashMap&lt;K, V, S&gt;&gt; {
<a href=#199 id=199 data-nosnippet>199</a> map: <span class="kw-2">&amp;</span><span class="lifetime">'a </span>M,
<a href=#200 id=200 data-nosnippet>200</a> shard_i: usize,
<a href=#201 id=201 data-nosnippet>201</a> current: <span class="prelude-ty">Option</span>&lt;GuardIterMut&lt;<span class="lifetime">'a</span>, K, V&gt;&gt;,
<a href=#202 id=202 data-nosnippet>202</a> marker: PhantomData&lt;S&gt;,
<a href=#203 id=203 data-nosnippet>203</a>}
<a href=#204 id=204 data-nosnippet>204</a>
<a href=#205 id=205 data-nosnippet>205</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, V, S, M&gt; Send <span class="kw">for </span>IterMut&lt;<span class="lifetime">'i</span>, K, V, S, M&gt;
<a href=#206 id=206 data-nosnippet>206</a><span class="kw">where
<a href=#207 id=207 data-nosnippet>207</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Send,
<a href=#208 id=208 data-nosnippet>208</a> V: <span class="lifetime">'a </span>+ Send,
<a href=#209 id=209 data-nosnippet>209</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#210 id=210 data-nosnippet>210</a> M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;,
<a href=#211 id=211 data-nosnippet>211</a>{
<a href=#212 id=212 data-nosnippet>212</a>}
<a href=#213 id=213 data-nosnippet>213</a>
<a href=#214 id=214 data-nosnippet>214</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, V, S, M&gt; Sync <span class="kw">for </span>IterMut&lt;<span class="lifetime">'i</span>, K, V, S, M&gt;
<a href=#215 id=215 data-nosnippet>215</a><span class="kw">where
<a href=#216 id=216 data-nosnippet>216</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Sync,
<a href=#217 id=217 data-nosnippet>217</a> V: <span class="lifetime">'a </span>+ Sync,
<a href=#218 id=218 data-nosnippet>218</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#219 id=219 data-nosnippet>219</a> M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;,
<a href=#220 id=220 data-nosnippet>220</a>{
<a href=#221 id=221 data-nosnippet>221</a>}
<a href=#222 id=222 data-nosnippet>222</a>
<a href=#223 id=223 data-nosnippet>223</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;&gt;
<a href=#224 id=224 data-nosnippet>224</a> IterMut&lt;<span class="lifetime">'a</span>, K, V, S, M&gt;
<a href=#225 id=225 data-nosnippet>225</a>{
<a href=#226 id=226 data-nosnippet>226</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new(map: <span class="kw-2">&amp;</span><span class="lifetime">'a </span>M) -&gt; <span class="self">Self </span>{
<a href=#227 id=227 data-nosnippet>227</a> <span class="self">Self </span>{
<a href=#228 id=228 data-nosnippet>228</a> map,
<a href=#229 id=229 data-nosnippet>229</a> shard_i: <span class="number">0</span>,
<a href=#230 id=230 data-nosnippet>230</a> current: <span class="prelude-val">None</span>,
<a href=#231 id=231 data-nosnippet>231</a> marker: PhantomData,
<a href=#232 id=232 data-nosnippet>232</a> }
<a href=#233 id=233 data-nosnippet>233</a> }
<a href=#234 id=234 data-nosnippet>234</a>}
<a href=#235 id=235 data-nosnippet>235</a>
<a href=#236 id=236 data-nosnippet>236</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, V, S&gt;&gt; Iterator
<a href=#237 id=237 data-nosnippet>237</a> <span class="kw">for </span>IterMut&lt;<span class="lifetime">'a</span>, K, V, S, M&gt;
<a href=#238 id=238 data-nosnippet>238</a>{
<a href=#239 id=239 data-nosnippet>239</a> <span class="kw">type </span>Item = RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt;;
<a href=#240 id=240 data-nosnippet>240</a>
<a href=#241 id=241 data-nosnippet>241</a> <span class="kw">fn </span>next(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt; {
<a href=#242 id=242 data-nosnippet>242</a> <span class="kw">loop </span>{
<a href=#243 id=243 data-nosnippet>243</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(current) = <span class="self">self</span>.current.as_mut() {
<a href=#244 id=244 data-nosnippet>244</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(b) = current.<span class="number">1</span>.next() {
<a href=#245 id=245 data-nosnippet>245</a> <span class="kw">return unsafe </span>{
<a href=#246 id=246 data-nosnippet>246</a> <span class="kw">let </span>(k, v) = b.as_mut();
<a href=#247 id=247 data-nosnippet>247</a> <span class="kw">let </span>guard = current.<span class="number">0</span>.clone();
<a href=#248 id=248 data-nosnippet>248</a> <span class="prelude-val">Some</span>(RefMutMulti::new(guard, k, v.get_mut()))
<a href=#249 id=249 data-nosnippet>249</a> };
<a href=#250 id=250 data-nosnippet>250</a> }
<a href=#251 id=251 data-nosnippet>251</a> }
<a href=#252 id=252 data-nosnippet>252</a>
<a href=#253 id=253 data-nosnippet>253</a> <span class="kw">if </span><span class="self">self</span>.shard_i == <span class="self">self</span>.map._shard_count() {
<a href=#254 id=254 data-nosnippet>254</a> <span class="kw">return </span><span class="prelude-val">None</span>;
<a href=#255 id=255 data-nosnippet>255</a> }
<a href=#256 id=256 data-nosnippet>256</a>
<a href=#257 id=257 data-nosnippet>257</a> <span class="kw">let </span>guard = <span class="kw">unsafe </span>{ <span class="self">self</span>.map._yield_write_shard(<span class="self">self</span>.shard_i) };
<a href=#258 id=258 data-nosnippet>258</a>
<a href=#259 id=259 data-nosnippet>259</a> <span class="kw">let </span>iter = <span class="kw">unsafe </span>{ guard.iter() };
<a href=#260 id=260 data-nosnippet>260</a>
<a href=#261 id=261 data-nosnippet>261</a> <span class="self">self</span>.current = <span class="prelude-val">Some</span>((Arc::new(guard), iter));
<a href=#262 id=262 data-nosnippet>262</a>
<a href=#263 id=263 data-nosnippet>263</a> <span class="self">self</span>.shard_i += <span class="number">1</span>;
<a href=#264 id=264 data-nosnippet>264</a> }
<a href=#265 id=265 data-nosnippet>265</a> }
<a href=#266 id=266 data-nosnippet>266</a>}
<a href=#267 id=267 data-nosnippet>267</a>
<a href=#268 id=268 data-nosnippet>268</a><span class="attr">#[cfg(test)]
<a href=#269 id=269 data-nosnippet>269</a></span><span class="kw">mod </span>tests {
<a href=#270 id=270 data-nosnippet>270</a> <span class="kw">use </span><span class="kw">crate</span>::DashMap;
<a href=#271 id=271 data-nosnippet>271</a>
<a href=#272 id=272 data-nosnippet>272</a> <span class="attr">#[test]
<a href=#273 id=273 data-nosnippet>273</a> </span><span class="kw">fn </span>iter_mut_manual_count() {
<a href=#274 id=274 data-nosnippet>274</a> <span class="kw">let </span>map = DashMap::new();
<a href=#275 id=275 data-nosnippet>275</a>
<a href=#276 id=276 data-nosnippet>276</a> map.insert(<span class="string">"Johnny"</span>, <span class="number">21</span>);
<a href=#277 id=277 data-nosnippet>277</a>
<a href=#278 id=278 data-nosnippet>278</a> <span class="macro">assert_eq!</span>(map.len(), <span class="number">1</span>);
<a href=#279 id=279 data-nosnippet>279</a>
<a href=#280 id=280 data-nosnippet>280</a> <span class="kw">let </span><span class="kw-2">mut </span>c = <span class="number">0</span>;
<a href=#281 id=281 data-nosnippet>281</a>
<a href=#282 id=282 data-nosnippet>282</a> <span class="kw">for </span>shard <span class="kw">in </span>map.shards() {
<a href=#283 id=283 data-nosnippet>283</a> c += <span class="kw">unsafe </span>{ shard.write().iter().count() };
<a href=#284 id=284 data-nosnippet>284</a> }
<a href=#285 id=285 data-nosnippet>285</a>
<a href=#286 id=286 data-nosnippet>286</a> <span class="macro">assert_eq!</span>(c, <span class="number">1</span>);
<a href=#287 id=287 data-nosnippet>287</a> }
<a href=#288 id=288 data-nosnippet>288</a>
<a href=#289 id=289 data-nosnippet>289</a> <span class="attr">#[test]
<a href=#290 id=290 data-nosnippet>290</a> </span><span class="kw">fn </span>iter_mut_count() {
<a href=#291 id=291 data-nosnippet>291</a> <span class="kw">let </span>map = DashMap::new();
<a href=#292 id=292 data-nosnippet>292</a>
<a href=#293 id=293 data-nosnippet>293</a> map.insert(<span class="string">"Johnny"</span>, <span class="number">21</span>);
<a href=#294 id=294 data-nosnippet>294</a>
<a href=#295 id=295 data-nosnippet>295</a> <span class="macro">assert_eq!</span>(map.len(), <span class="number">1</span>);
<a href=#296 id=296 data-nosnippet>296</a>
<a href=#297 id=297 data-nosnippet>297</a> <span class="macro">assert_eq!</span>(map.iter_mut().count(), <span class="number">1</span>);
<a href=#298 id=298 data-nosnippet>298</a> }
<a href=#299 id=299 data-nosnippet>299</a>
<a href=#300 id=300 data-nosnippet>300</a> <span class="attr">#[test]
<a href=#301 id=301 data-nosnippet>301</a> </span><span class="kw">fn </span>iter_count() {
<a href=#302 id=302 data-nosnippet>302</a> <span class="kw">let </span>map = DashMap::new();
<a href=#303 id=303 data-nosnippet>303</a>
<a href=#304 id=304 data-nosnippet>304</a> map.insert(<span class="string">"Johnny"</span>, <span class="number">21</span>);
<a href=#305 id=305 data-nosnippet>305</a>
<a href=#306 id=306 data-nosnippet>306</a> <span class="macro">assert_eq!</span>(map.len(), <span class="number">1</span>);
<a href=#307 id=307 data-nosnippet>307</a>
<a href=#308 id=308 data-nosnippet>308</a> <span class="macro">assert_eq!</span>(map.iter().count(), <span class="number">1</span>);
<a href=#309 id=309 data-nosnippet>309</a> }
<a href=#310 id=310 data-nosnippet>310</a>}
</code></pre></div></section></main></body></html>

View File

@@ -0,0 +1,72 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\iter_set.rs`."><title>iter_set.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../../static.files/src-script-813739b1.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap/</div>iter_set.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-2"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">use </span><span class="kw">crate</span>::setref::multiple::RefMulti;
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">use </span><span class="kw">crate</span>::t::Map;
<a href=#3 id=3 data-nosnippet>3</a><span class="kw">use </span>core::hash::{BuildHasher, Hash};
<a href=#4 id=4 data-nosnippet>4</a>
<a href=#5 id=5 data-nosnippet>5</a><span class="kw">pub struct </span>OwningIter&lt;K, S&gt; {
<a href=#6 id=6 data-nosnippet>6</a> inner: <span class="kw">crate</span>::iter::OwningIter&lt;K, (), S&gt;,
<a href=#7 id=7 data-nosnippet>7</a>}
<a href=#8 id=8 data-nosnippet>8</a>
<a href=#9 id=9 data-nosnippet>9</a><span class="kw">impl</span>&lt;K: Eq + Hash, S: BuildHasher + Clone&gt; OwningIter&lt;K, S&gt; {
<a href=#10 id=10 data-nosnippet>10</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new(inner: <span class="kw">crate</span>::iter::OwningIter&lt;K, (), S&gt;) -&gt; <span class="self">Self </span>{
<a href=#11 id=11 data-nosnippet>11</a> <span class="self">Self </span>{ inner }
<a href=#12 id=12 data-nosnippet>12</a> }
<a href=#13 id=13 data-nosnippet>13</a>}
<a href=#14 id=14 data-nosnippet>14</a>
<a href=#15 id=15 data-nosnippet>15</a><span class="kw">impl</span>&lt;K: Eq + Hash, S: BuildHasher + Clone&gt; Iterator <span class="kw">for </span>OwningIter&lt;K, S&gt; {
<a href=#16 id=16 data-nosnippet>16</a> <span class="kw">type </span>Item = K;
<a href=#17 id=17 data-nosnippet>17</a>
<a href=#18 id=18 data-nosnippet>18</a> <span class="kw">fn </span>next(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt; {
<a href=#19 id=19 data-nosnippet>19</a> <span class="self">self</span>.inner.next().map(|(k, <span class="kw">_</span>)| k)
<a href=#20 id=20 data-nosnippet>20</a> }
<a href=#21 id=21 data-nosnippet>21</a>}
<a href=#22 id=22 data-nosnippet>22</a>
<a href=#23 id=23 data-nosnippet>23</a><span class="kw">unsafe impl</span>&lt;K, S&gt; Send <span class="kw">for </span>OwningIter&lt;K, S&gt;
<a href=#24 id=24 data-nosnippet>24</a><span class="kw">where
<a href=#25 id=25 data-nosnippet>25</a> </span>K: Eq + Hash + Send,
<a href=#26 id=26 data-nosnippet>26</a> S: BuildHasher + Clone + Send,
<a href=#27 id=27 data-nosnippet>27</a>{
<a href=#28 id=28 data-nosnippet>28</a>}
<a href=#29 id=29 data-nosnippet>29</a>
<a href=#30 id=30 data-nosnippet>30</a><span class="kw">unsafe impl</span>&lt;K, S&gt; Sync <span class="kw">for </span>OwningIter&lt;K, S&gt;
<a href=#31 id=31 data-nosnippet>31</a><span class="kw">where
<a href=#32 id=32 data-nosnippet>32</a> </span>K: Eq + Hash + Sync,
<a href=#33 id=33 data-nosnippet>33</a> S: BuildHasher + Clone + Sync,
<a href=#34 id=34 data-nosnippet>34</a>{
<a href=#35 id=35 data-nosnippet>35</a>}
<a href=#36 id=36 data-nosnippet>36</a>
<a href=#37 id=37 data-nosnippet>37</a><span class="kw">pub struct </span>Iter&lt;<span class="lifetime">'a</span>, K, S, M&gt; {
<a href=#38 id=38 data-nosnippet>38</a> inner: <span class="kw">crate</span>::iter::Iter&lt;<span class="lifetime">'a</span>, K, (), S, M&gt;,
<a href=#39 id=39 data-nosnippet>39</a>}
<a href=#40 id=40 data-nosnippet>40</a>
<a href=#41 id=41 data-nosnippet>41</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, S, M&gt; Send <span class="kw">for </span>Iter&lt;<span class="lifetime">'i</span>, K, S, M&gt;
<a href=#42 id=42 data-nosnippet>42</a><span class="kw">where
<a href=#43 id=43 data-nosnippet>43</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Send,
<a href=#44 id=44 data-nosnippet>44</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#45 id=45 data-nosnippet>45</a> M: Map&lt;<span class="lifetime">'a</span>, K, (), S&gt;,
<a href=#46 id=46 data-nosnippet>46</a>{
<a href=#47 id=47 data-nosnippet>47</a>}
<a href=#48 id=48 data-nosnippet>48</a>
<a href=#49 id=49 data-nosnippet>49</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, <span class="lifetime">'i</span>, K, S, M&gt; Sync <span class="kw">for </span>Iter&lt;<span class="lifetime">'i</span>, K, S, M&gt;
<a href=#50 id=50 data-nosnippet>50</a><span class="kw">where
<a href=#51 id=51 data-nosnippet>51</a> </span>K: <span class="lifetime">'a </span>+ Eq + Hash + Sync,
<a href=#52 id=52 data-nosnippet>52</a> S: <span class="lifetime">'a </span>+ BuildHasher + Clone,
<a href=#53 id=53 data-nosnippet>53</a> M: Map&lt;<span class="lifetime">'a</span>, K, (), S&gt;,
<a href=#54 id=54 data-nosnippet>54</a>{
<a href=#55 id=55 data-nosnippet>55</a>}
<a href=#56 id=56 data-nosnippet>56</a>
<a href=#57 id=57 data-nosnippet>57</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, (), S&gt;&gt; Iter&lt;<span class="lifetime">'a</span>, K, S, M&gt; {
<a href=#58 id=58 data-nosnippet>58</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>new(inner: <span class="kw">crate</span>::iter::Iter&lt;<span class="lifetime">'a</span>, K, (), S, M&gt;) -&gt; <span class="self">Self </span>{
<a href=#59 id=59 data-nosnippet>59</a> <span class="self">Self </span>{ inner }
<a href=#60 id=60 data-nosnippet>60</a> }
<a href=#61 id=61 data-nosnippet>61</a>}
<a href=#62 id=62 data-nosnippet>62</a>
<a href=#63 id=63 data-nosnippet>63</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, S: <span class="lifetime">'a </span>+ BuildHasher + Clone, M: Map&lt;<span class="lifetime">'a</span>, K, (), S&gt;&gt; Iterator
<a href=#64 id=64 data-nosnippet>64</a> <span class="kw">for </span>Iter&lt;<span class="lifetime">'a</span>, K, S, M&gt;
<a href=#65 id=65 data-nosnippet>65</a>{
<a href=#66 id=66 data-nosnippet>66</a> <span class="kw">type </span>Item = RefMulti&lt;<span class="lifetime">'a</span>, K&gt;;
<a href=#67 id=67 data-nosnippet>67</a>
<a href=#68 id=68 data-nosnippet>68</a> <span class="kw">fn </span>next(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>::Item&gt; {
<a href=#69 id=69 data-nosnippet>69</a> <span class="self">self</span>.inner.next().map(RefMulti::new)
<a href=#70 id=70 data-nosnippet>70</a> }
<a href=#71 id=71 data-nosnippet>71</a>}
</code></pre></div></section></main></body></html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,301 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\lock.rs`."><title>lock.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../../static.files/src-script-813739b1.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap/</div>lock.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-3"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">use </span>core::sync::atomic::{AtomicUsize, Ordering};
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">use </span>parking_lot_core::{ParkToken, SpinWait, UnparkToken};
<a href=#3 id=3 data-nosnippet>3</a>
<a href=#4 id=4 data-nosnippet>4</a><span class="kw">pub type </span>RwLock&lt;T&gt; = lock_api::RwLock&lt;RawRwLock, T&gt;;
<a href=#5 id=5 data-nosnippet>5</a><span class="kw">pub type </span>RwLockReadGuard&lt;<span class="lifetime">'a</span>, T&gt; = lock_api::RwLockReadGuard&lt;<span class="lifetime">'a</span>, RawRwLock, T&gt;;
<a href=#6 id=6 data-nosnippet>6</a><span class="kw">pub type </span>RwLockWriteGuard&lt;<span class="lifetime">'a</span>, T&gt; = lock_api::RwLockWriteGuard&lt;<span class="lifetime">'a</span>, RawRwLock, T&gt;;
<a href=#7 id=7 data-nosnippet>7</a>
<a href=#8 id=8 data-nosnippet>8</a><span class="kw">const </span>READERS_PARKED: usize = <span class="number">0b0001</span>;
<a href=#9 id=9 data-nosnippet>9</a><span class="kw">const </span>WRITERS_PARKED: usize = <span class="number">0b0010</span>;
<a href=#10 id=10 data-nosnippet>10</a><span class="kw">const </span>ONE_READER: usize = <span class="number">0b0100</span>;
<a href=#11 id=11 data-nosnippet>11</a><span class="kw">const </span>ONE_WRITER: usize = !(READERS_PARKED | WRITERS_PARKED);
<a href=#12 id=12 data-nosnippet>12</a>
<a href=#13 id=13 data-nosnippet>13</a><span class="kw">pub struct </span>RawRwLock {
<a href=#14 id=14 data-nosnippet>14</a> state: AtomicUsize,
<a href=#15 id=15 data-nosnippet>15</a>}
<a href=#16 id=16 data-nosnippet>16</a>
<a href=#17 id=17 data-nosnippet>17</a><span class="kw">unsafe impl </span>lock_api::RawRwLock <span class="kw">for </span>RawRwLock {
<a href=#18 id=18 data-nosnippet>18</a> <span class="attr">#[allow(clippy::declare_interior_mutable_const)]
<a href=#19 id=19 data-nosnippet>19</a> </span><span class="kw">const </span>INIT: <span class="self">Self </span>= <span class="self">Self </span>{
<a href=#20 id=20 data-nosnippet>20</a> state: AtomicUsize::new(<span class="number">0</span>),
<a href=#21 id=21 data-nosnippet>21</a> };
<a href=#22 id=22 data-nosnippet>22</a>
<a href=#23 id=23 data-nosnippet>23</a> <span class="kw">type </span>GuardMarker = lock_api::GuardNoSend;
<a href=#24 id=24 data-nosnippet>24</a>
<a href=#25 id=25 data-nosnippet>25</a> <span class="attr">#[inline]
<a href=#26 id=26 data-nosnippet>26</a> </span><span class="kw">fn </span>try_lock_exclusive(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
<a href=#27 id=27 data-nosnippet>27</a> <span class="self">self</span>.state
<a href=#28 id=28 data-nosnippet>28</a> .compare_exchange(<span class="number">0</span>, ONE_WRITER, Ordering::Acquire, Ordering::Relaxed)
<a href=#29 id=29 data-nosnippet>29</a> .is_ok()
<a href=#30 id=30 data-nosnippet>30</a> }
<a href=#31 id=31 data-nosnippet>31</a>
<a href=#32 id=32 data-nosnippet>32</a> <span class="attr">#[inline]
<a href=#33 id=33 data-nosnippet>33</a> </span><span class="kw">fn </span>lock_exclusive(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#34 id=34 data-nosnippet>34</a> <span class="kw">if </span><span class="self">self
<a href=#35 id=35 data-nosnippet>35</a> </span>.state
<a href=#36 id=36 data-nosnippet>36</a> .compare_exchange_weak(<span class="number">0</span>, ONE_WRITER, Ordering::Acquire, Ordering::Relaxed)
<a href=#37 id=37 data-nosnippet>37</a> .is_err()
<a href=#38 id=38 data-nosnippet>38</a> {
<a href=#39 id=39 data-nosnippet>39</a> <span class="self">self</span>.lock_exclusive_slow();
<a href=#40 id=40 data-nosnippet>40</a> }
<a href=#41 id=41 data-nosnippet>41</a> }
<a href=#42 id=42 data-nosnippet>42</a>
<a href=#43 id=43 data-nosnippet>43</a> <span class="attr">#[inline]
<a href=#44 id=44 data-nosnippet>44</a> </span><span class="kw">unsafe fn </span>unlock_exclusive(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#45 id=45 data-nosnippet>45</a> <span class="kw">if </span><span class="self">self
<a href=#46 id=46 data-nosnippet>46</a> </span>.state
<a href=#47 id=47 data-nosnippet>47</a> .compare_exchange(ONE_WRITER, <span class="number">0</span>, Ordering::Release, Ordering::Relaxed)
<a href=#48 id=48 data-nosnippet>48</a> .is_err()
<a href=#49 id=49 data-nosnippet>49</a> {
<a href=#50 id=50 data-nosnippet>50</a> <span class="self">self</span>.unlock_exclusive_slow();
<a href=#51 id=51 data-nosnippet>51</a> }
<a href=#52 id=52 data-nosnippet>52</a> }
<a href=#53 id=53 data-nosnippet>53</a>
<a href=#54 id=54 data-nosnippet>54</a> <span class="attr">#[inline]
<a href=#55 id=55 data-nosnippet>55</a> </span><span class="kw">fn </span>try_lock_shared(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
<a href=#56 id=56 data-nosnippet>56</a> <span class="self">self</span>.try_lock_shared_fast() || <span class="self">self</span>.try_lock_shared_slow()
<a href=#57 id=57 data-nosnippet>57</a> }
<a href=#58 id=58 data-nosnippet>58</a>
<a href=#59 id=59 data-nosnippet>59</a> <span class="attr">#[inline]
<a href=#60 id=60 data-nosnippet>60</a> </span><span class="kw">fn </span>lock_shared(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#61 id=61 data-nosnippet>61</a> <span class="kw">if </span>!<span class="self">self</span>.try_lock_shared_fast() {
<a href=#62 id=62 data-nosnippet>62</a> <span class="self">self</span>.lock_shared_slow();
<a href=#63 id=63 data-nosnippet>63</a> }
<a href=#64 id=64 data-nosnippet>64</a> }
<a href=#65 id=65 data-nosnippet>65</a>
<a href=#66 id=66 data-nosnippet>66</a> <span class="attr">#[inline]
<a href=#67 id=67 data-nosnippet>67</a> </span><span class="kw">unsafe fn </span>unlock_shared(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#68 id=68 data-nosnippet>68</a> <span class="kw">let </span>state = <span class="self">self</span>.state.fetch_sub(ONE_READER, Ordering::Release);
<a href=#69 id=69 data-nosnippet>69</a>
<a href=#70 id=70 data-nosnippet>70</a> <span class="kw">if </span>state == (ONE_READER | WRITERS_PARKED) {
<a href=#71 id=71 data-nosnippet>71</a> <span class="self">self</span>.unlock_shared_slow();
<a href=#72 id=72 data-nosnippet>72</a> }
<a href=#73 id=73 data-nosnippet>73</a> }
<a href=#74 id=74 data-nosnippet>74</a>}
<a href=#75 id=75 data-nosnippet>75</a>
<a href=#76 id=76 data-nosnippet>76</a><span class="kw">unsafe impl </span>lock_api::RawRwLockDowngrade <span class="kw">for </span>RawRwLock {
<a href=#77 id=77 data-nosnippet>77</a> <span class="attr">#[inline]
<a href=#78 id=78 data-nosnippet>78</a> </span><span class="kw">unsafe fn </span>downgrade(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#79 id=79 data-nosnippet>79</a> <span class="kw">let </span>state = <span class="self">self
<a href=#80 id=80 data-nosnippet>80</a> </span>.state
<a href=#81 id=81 data-nosnippet>81</a> .fetch_and(ONE_READER | WRITERS_PARKED, Ordering::Release);
<a href=#82 id=82 data-nosnippet>82</a> <span class="kw">if </span>state &amp; <span class="macro">READERS_PARKED !</span>= <span class="number">0 </span>{
<a href=#83 id=83 data-nosnippet>83</a> parking_lot_core::unpark_all((<span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize) + <span class="number">1</span>, UnparkToken(<span class="number">0</span>));
<a href=#84 id=84 data-nosnippet>84</a> }
<a href=#85 id=85 data-nosnippet>85</a> }
<a href=#86 id=86 data-nosnippet>86</a>}
<a href=#87 id=87 data-nosnippet>87</a>
<a href=#88 id=88 data-nosnippet>88</a><span class="kw">impl </span>RawRwLock {
<a href=#89 id=89 data-nosnippet>89</a> <span class="attr">#[cold]
<a href=#90 id=90 data-nosnippet>90</a> </span><span class="kw">fn </span>lock_exclusive_slow(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#91 id=91 data-nosnippet>91</a> <span class="kw">let </span><span class="kw-2">mut </span>acquire_with = <span class="number">0</span>;
<a href=#92 id=92 data-nosnippet>92</a> <span class="kw">loop </span>{
<a href=#93 id=93 data-nosnippet>93</a> <span class="kw">let </span><span class="kw-2">mut </span>spin = SpinWait::new();
<a href=#94 id=94 data-nosnippet>94</a> <span class="kw">let </span><span class="kw-2">mut </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#95 id=95 data-nosnippet>95</a>
<a href=#96 id=96 data-nosnippet>96</a> <span class="kw">loop </span>{
<a href=#97 id=97 data-nosnippet>97</a> <span class="kw">while </span>state &amp; ONE_WRITER == <span class="number">0 </span>{
<a href=#98 id=98 data-nosnippet>98</a> <span class="kw">match </span><span class="self">self</span>.state.compare_exchange_weak(
<a href=#99 id=99 data-nosnippet>99</a> state,
<a href=#100 id=100 data-nosnippet>100</a> state | ONE_WRITER | acquire_with,
<a href=#101 id=101 data-nosnippet>101</a> Ordering::Acquire,
<a href=#102 id=102 data-nosnippet>102</a> Ordering::Relaxed,
<a href=#103 id=103 data-nosnippet>103</a> ) {
<a href=#104 id=104 data-nosnippet>104</a> <span class="prelude-val">Ok</span>(<span class="kw">_</span>) =&gt; <span class="kw">return</span>,
<a href=#105 id=105 data-nosnippet>105</a> <span class="prelude-val">Err</span>(e) =&gt; state = e,
<a href=#106 id=106 data-nosnippet>106</a> }
<a href=#107 id=107 data-nosnippet>107</a> }
<a href=#108 id=108 data-nosnippet>108</a>
<a href=#109 id=109 data-nosnippet>109</a> <span class="kw">if </span>state &amp; WRITERS_PARKED == <span class="number">0 </span>{
<a href=#110 id=110 data-nosnippet>110</a> <span class="kw">if </span>spin.spin() {
<a href=#111 id=111 data-nosnippet>111</a> state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#112 id=112 data-nosnippet>112</a> <span class="kw">continue</span>;
<a href=#113 id=113 data-nosnippet>113</a> }
<a href=#114 id=114 data-nosnippet>114</a>
<a href=#115 id=115 data-nosnippet>115</a> <span class="kw">if let </span><span class="prelude-val">Err</span>(e) = <span class="self">self</span>.state.compare_exchange_weak(
<a href=#116 id=116 data-nosnippet>116</a> state,
<a href=#117 id=117 data-nosnippet>117</a> state | WRITERS_PARKED,
<a href=#118 id=118 data-nosnippet>118</a> Ordering::Relaxed,
<a href=#119 id=119 data-nosnippet>119</a> Ordering::Relaxed,
<a href=#120 id=120 data-nosnippet>120</a> ) {
<a href=#121 id=121 data-nosnippet>121</a> state = e;
<a href=#122 id=122 data-nosnippet>122</a> <span class="kw">continue</span>;
<a href=#123 id=123 data-nosnippet>123</a> }
<a href=#124 id=124 data-nosnippet>124</a> }
<a href=#125 id=125 data-nosnippet>125</a>
<a href=#126 id=126 data-nosnippet>126</a> <span class="kw">let _ </span>= <span class="kw">unsafe </span>{
<a href=#127 id=127 data-nosnippet>127</a> parking_lot_core::park(
<a href=#128 id=128 data-nosnippet>128</a> <span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize,
<a href=#129 id=129 data-nosnippet>129</a> || {
<a href=#130 id=130 data-nosnippet>130</a> <span class="kw">let </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#131 id=131 data-nosnippet>131</a> (state &amp; <span class="macro">ONE_WRITER !</span>= <span class="number">0</span>) &amp;&amp; (state &amp; <span class="macro">WRITERS_PARKED !</span>= <span class="number">0</span>)
<a href=#132 id=132 data-nosnippet>132</a> },
<a href=#133 id=133 data-nosnippet>133</a> || {},
<a href=#134 id=134 data-nosnippet>134</a> |<span class="kw">_</span>, <span class="kw">_</span>| {},
<a href=#135 id=135 data-nosnippet>135</a> ParkToken(<span class="number">0</span>),
<a href=#136 id=136 data-nosnippet>136</a> <span class="prelude-val">None</span>,
<a href=#137 id=137 data-nosnippet>137</a> )
<a href=#138 id=138 data-nosnippet>138</a> };
<a href=#139 id=139 data-nosnippet>139</a>
<a href=#140 id=140 data-nosnippet>140</a> acquire_with = WRITERS_PARKED;
<a href=#141 id=141 data-nosnippet>141</a> <span class="kw">break</span>;
<a href=#142 id=142 data-nosnippet>142</a> }
<a href=#143 id=143 data-nosnippet>143</a> }
<a href=#144 id=144 data-nosnippet>144</a> }
<a href=#145 id=145 data-nosnippet>145</a>
<a href=#146 id=146 data-nosnippet>146</a> <span class="attr">#[cold]
<a href=#147 id=147 data-nosnippet>147</a> </span><span class="kw">fn </span>unlock_exclusive_slow(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#148 id=148 data-nosnippet>148</a> <span class="kw">let </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#149 id=149 data-nosnippet>149</a> <span class="macro">assert_eq!</span>(state &amp; ONE_WRITER, ONE_WRITER);
<a href=#150 id=150 data-nosnippet>150</a>
<a href=#151 id=151 data-nosnippet>151</a> <span class="kw">let </span><span class="kw-2">mut </span>parked = state &amp; (READERS_PARKED | WRITERS_PARKED);
<a href=#152 id=152 data-nosnippet>152</a> <span class="macro">assert_ne!</span>(parked, <span class="number">0</span>);
<a href=#153 id=153 data-nosnippet>153</a>
<a href=#154 id=154 data-nosnippet>154</a> <span class="kw">if </span><span class="macro">parked !</span>= (READERS_PARKED | WRITERS_PARKED) {
<a href=#155 id=155 data-nosnippet>155</a> <span class="kw">if let </span><span class="prelude-val">Err</span>(new_state) =
<a href=#156 id=156 data-nosnippet>156</a> <span class="self">self</span>.state
<a href=#157 id=157 data-nosnippet>157</a> .compare_exchange(state, <span class="number">0</span>, Ordering::Release, Ordering::Relaxed)
<a href=#158 id=158 data-nosnippet>158</a> {
<a href=#159 id=159 data-nosnippet>159</a> <span class="macro">assert_eq!</span>(new_state, ONE_WRITER | READERS_PARKED | WRITERS_PARKED);
<a href=#160 id=160 data-nosnippet>160</a> parked = READERS_PARKED | WRITERS_PARKED;
<a href=#161 id=161 data-nosnippet>161</a> }
<a href=#162 id=162 data-nosnippet>162</a> }
<a href=#163 id=163 data-nosnippet>163</a>
<a href=#164 id=164 data-nosnippet>164</a> <span class="kw">if </span>parked == (READERS_PARKED | WRITERS_PARKED) {
<a href=#165 id=165 data-nosnippet>165</a> <span class="self">self</span>.state.store(WRITERS_PARKED, Ordering::Release);
<a href=#166 id=166 data-nosnippet>166</a> parked = READERS_PARKED;
<a href=#167 id=167 data-nosnippet>167</a> }
<a href=#168 id=168 data-nosnippet>168</a>
<a href=#169 id=169 data-nosnippet>169</a> <span class="kw">if </span>parked == READERS_PARKED {
<a href=#170 id=170 data-nosnippet>170</a> <span class="kw">return unsafe </span>{
<a href=#171 id=171 data-nosnippet>171</a> parking_lot_core::unpark_all((<span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize) + <span class="number">1</span>, UnparkToken(<span class="number">0</span>));
<a href=#172 id=172 data-nosnippet>172</a> };
<a href=#173 id=173 data-nosnippet>173</a> }
<a href=#174 id=174 data-nosnippet>174</a>
<a href=#175 id=175 data-nosnippet>175</a> <span class="macro">assert_eq!</span>(parked, WRITERS_PARKED);
<a href=#176 id=176 data-nosnippet>176</a> <span class="kw">unsafe </span>{
<a href=#177 id=177 data-nosnippet>177</a> parking_lot_core::unpark_one(<span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize, |<span class="kw">_</span>| UnparkToken(<span class="number">0</span>));
<a href=#178 id=178 data-nosnippet>178</a> }
<a href=#179 id=179 data-nosnippet>179</a> }
<a href=#180 id=180 data-nosnippet>180</a>
<a href=#181 id=181 data-nosnippet>181</a> <span class="attr">#[inline(always)]
<a href=#182 id=182 data-nosnippet>182</a> </span><span class="kw">fn </span>try_lock_shared_fast(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
<a href=#183 id=183 data-nosnippet>183</a> <span class="kw">let </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#184 id=184 data-nosnippet>184</a>
<a href=#185 id=185 data-nosnippet>185</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(new_state) = state.checked_add(ONE_READER) {
<a href=#186 id=186 data-nosnippet>186</a> <span class="kw">if </span>new_state &amp; <span class="macro">ONE_WRITER !</span>= ONE_WRITER {
<a href=#187 id=187 data-nosnippet>187</a> <span class="kw">return </span><span class="self">self
<a href=#188 id=188 data-nosnippet>188</a> </span>.state
<a href=#189 id=189 data-nosnippet>189</a> .compare_exchange_weak(state, new_state, Ordering::Acquire, Ordering::Relaxed)
<a href=#190 id=190 data-nosnippet>190</a> .is_ok();
<a href=#191 id=191 data-nosnippet>191</a> }
<a href=#192 id=192 data-nosnippet>192</a> }
<a href=#193 id=193 data-nosnippet>193</a>
<a href=#194 id=194 data-nosnippet>194</a> <span class="bool-val">false
<a href=#195 id=195 data-nosnippet>195</a> </span>}
<a href=#196 id=196 data-nosnippet>196</a>
<a href=#197 id=197 data-nosnippet>197</a> <span class="attr">#[cold]
<a href=#198 id=198 data-nosnippet>198</a> </span><span class="kw">fn </span>try_lock_shared_slow(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
<a href=#199 id=199 data-nosnippet>199</a> <span class="kw">let </span><span class="kw-2">mut </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#200 id=200 data-nosnippet>200</a>
<a href=#201 id=201 data-nosnippet>201</a> <span class="kw">while let </span><span class="prelude-val">Some</span>(new_state) = state.checked_add(ONE_READER) {
<a href=#202 id=202 data-nosnippet>202</a> <span class="kw">if </span>new_state &amp; ONE_WRITER == ONE_WRITER {
<a href=#203 id=203 data-nosnippet>203</a> <span class="kw">break</span>;
<a href=#204 id=204 data-nosnippet>204</a> }
<a href=#205 id=205 data-nosnippet>205</a>
<a href=#206 id=206 data-nosnippet>206</a> <span class="kw">match </span><span class="self">self</span>.state.compare_exchange_weak(
<a href=#207 id=207 data-nosnippet>207</a> state,
<a href=#208 id=208 data-nosnippet>208</a> new_state,
<a href=#209 id=209 data-nosnippet>209</a> Ordering::Acquire,
<a href=#210 id=210 data-nosnippet>210</a> Ordering::Relaxed,
<a href=#211 id=211 data-nosnippet>211</a> ) {
<a href=#212 id=212 data-nosnippet>212</a> <span class="prelude-val">Ok</span>(<span class="kw">_</span>) =&gt; <span class="kw">return </span><span class="bool-val">true</span>,
<a href=#213 id=213 data-nosnippet>213</a> <span class="prelude-val">Err</span>(e) =&gt; state = e,
<a href=#214 id=214 data-nosnippet>214</a> }
<a href=#215 id=215 data-nosnippet>215</a> }
<a href=#216 id=216 data-nosnippet>216</a>
<a href=#217 id=217 data-nosnippet>217</a> <span class="bool-val">false
<a href=#218 id=218 data-nosnippet>218</a> </span>}
<a href=#219 id=219 data-nosnippet>219</a>
<a href=#220 id=220 data-nosnippet>220</a> <span class="attr">#[cold]
<a href=#221 id=221 data-nosnippet>221</a> </span><span class="kw">fn </span>lock_shared_slow(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#222 id=222 data-nosnippet>222</a> <span class="kw">loop </span>{
<a href=#223 id=223 data-nosnippet>223</a> <span class="kw">let </span><span class="kw-2">mut </span>spin = SpinWait::new();
<a href=#224 id=224 data-nosnippet>224</a> <span class="kw">let </span><span class="kw-2">mut </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#225 id=225 data-nosnippet>225</a>
<a href=#226 id=226 data-nosnippet>226</a> <span class="kw">loop </span>{
<a href=#227 id=227 data-nosnippet>227</a> <span class="kw">let </span><span class="kw-2">mut </span>backoff = SpinWait::new();
<a href=#228 id=228 data-nosnippet>228</a> <span class="kw">while let </span><span class="prelude-val">Some</span>(new_state) = state.checked_add(ONE_READER) {
<a href=#229 id=229 data-nosnippet>229</a> <span class="macro">assert_ne!</span>(
<a href=#230 id=230 data-nosnippet>230</a> new_state &amp; ONE_WRITER,
<a href=#231 id=231 data-nosnippet>231</a> ONE_WRITER,
<a href=#232 id=232 data-nosnippet>232</a> <span class="string">"reader count overflowed"</span>,
<a href=#233 id=233 data-nosnippet>233</a> );
<a href=#234 id=234 data-nosnippet>234</a>
<a href=#235 id=235 data-nosnippet>235</a> <span class="kw">if </span><span class="self">self
<a href=#236 id=236 data-nosnippet>236</a> </span>.state
<a href=#237 id=237 data-nosnippet>237</a> .compare_exchange_weak(
<a href=#238 id=238 data-nosnippet>238</a> state,
<a href=#239 id=239 data-nosnippet>239</a> new_state,
<a href=#240 id=240 data-nosnippet>240</a> Ordering::Acquire,
<a href=#241 id=241 data-nosnippet>241</a> Ordering::Relaxed,
<a href=#242 id=242 data-nosnippet>242</a> )
<a href=#243 id=243 data-nosnippet>243</a> .is_ok()
<a href=#244 id=244 data-nosnippet>244</a> {
<a href=#245 id=245 data-nosnippet>245</a> <span class="kw">return</span>;
<a href=#246 id=246 data-nosnippet>246</a> }
<a href=#247 id=247 data-nosnippet>247</a>
<a href=#248 id=248 data-nosnippet>248</a> backoff.spin_no_yield();
<a href=#249 id=249 data-nosnippet>249</a> state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#250 id=250 data-nosnippet>250</a> }
<a href=#251 id=251 data-nosnippet>251</a>
<a href=#252 id=252 data-nosnippet>252</a> <span class="kw">if </span>state &amp; READERS_PARKED == <span class="number">0 </span>{
<a href=#253 id=253 data-nosnippet>253</a> <span class="kw">if </span>spin.spin() {
<a href=#254 id=254 data-nosnippet>254</a> state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#255 id=255 data-nosnippet>255</a> <span class="kw">continue</span>;
<a href=#256 id=256 data-nosnippet>256</a> }
<a href=#257 id=257 data-nosnippet>257</a>
<a href=#258 id=258 data-nosnippet>258</a> <span class="kw">if let </span><span class="prelude-val">Err</span>(e) = <span class="self">self</span>.state.compare_exchange_weak(
<a href=#259 id=259 data-nosnippet>259</a> state,
<a href=#260 id=260 data-nosnippet>260</a> state | READERS_PARKED,
<a href=#261 id=261 data-nosnippet>261</a> Ordering::Relaxed,
<a href=#262 id=262 data-nosnippet>262</a> Ordering::Relaxed,
<a href=#263 id=263 data-nosnippet>263</a> ) {
<a href=#264 id=264 data-nosnippet>264</a> state = e;
<a href=#265 id=265 data-nosnippet>265</a> <span class="kw">continue</span>;
<a href=#266 id=266 data-nosnippet>266</a> }
<a href=#267 id=267 data-nosnippet>267</a> }
<a href=#268 id=268 data-nosnippet>268</a>
<a href=#269 id=269 data-nosnippet>269</a> <span class="kw">let _ </span>= <span class="kw">unsafe </span>{
<a href=#270 id=270 data-nosnippet>270</a> parking_lot_core::park(
<a href=#271 id=271 data-nosnippet>271</a> (<span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize) + <span class="number">1</span>,
<a href=#272 id=272 data-nosnippet>272</a> || {
<a href=#273 id=273 data-nosnippet>273</a> <span class="kw">let </span>state = <span class="self">self</span>.state.load(Ordering::Relaxed);
<a href=#274 id=274 data-nosnippet>274</a> (state &amp; ONE_WRITER == ONE_WRITER) &amp;&amp; (state &amp; <span class="macro">READERS_PARKED !</span>= <span class="number">0</span>)
<a href=#275 id=275 data-nosnippet>275</a> },
<a href=#276 id=276 data-nosnippet>276</a> || {},
<a href=#277 id=277 data-nosnippet>277</a> |<span class="kw">_</span>, <span class="kw">_</span>| {},
<a href=#278 id=278 data-nosnippet>278</a> ParkToken(<span class="number">0</span>),
<a href=#279 id=279 data-nosnippet>279</a> <span class="prelude-val">None</span>,
<a href=#280 id=280 data-nosnippet>280</a> )
<a href=#281 id=281 data-nosnippet>281</a> };
<a href=#282 id=282 data-nosnippet>282</a>
<a href=#283 id=283 data-nosnippet>283</a> <span class="kw">break</span>;
<a href=#284 id=284 data-nosnippet>284</a> }
<a href=#285 id=285 data-nosnippet>285</a> }
<a href=#286 id=286 data-nosnippet>286</a> }
<a href=#287 id=287 data-nosnippet>287</a>
<a href=#288 id=288 data-nosnippet>288</a> <span class="attr">#[cold]
<a href=#289 id=289 data-nosnippet>289</a> </span><span class="kw">fn </span>unlock_shared_slow(<span class="kw-2">&amp;</span><span class="self">self</span>) {
<a href=#290 id=290 data-nosnippet>290</a> <span class="kw">if </span><span class="self">self
<a href=#291 id=291 data-nosnippet>291</a> </span>.state
<a href=#292 id=292 data-nosnippet>292</a> .compare_exchange(WRITERS_PARKED, <span class="number">0</span>, Ordering::Relaxed, Ordering::Relaxed)
<a href=#293 id=293 data-nosnippet>293</a> .is_ok()
<a href=#294 id=294 data-nosnippet>294</a> {
<a href=#295 id=295 data-nosnippet>295</a> <span class="kw">unsafe </span>{
<a href=#296 id=296 data-nosnippet>296</a> parking_lot_core::unpark_one(<span class="self">self </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_ as </span>usize, |<span class="kw">_</span>| UnparkToken(<span class="number">0</span>));
<a href=#297 id=297 data-nosnippet>297</a> }
<a href=#298 id=298 data-nosnippet>298</a> }
<a href=#299 id=299 data-nosnippet>299</a> }
<a href=#300 id=300 data-nosnippet>300</a>}
</code></pre></div></section></main></body></html>

View File

@@ -0,0 +1,284 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\mapref\entry.rs`."><title>entry.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../../../static.files/src-script-813739b1.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap\mapref/</div>entry.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-3"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">use </span><span class="kw">super</span>::one::RefMut;
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">use </span><span class="kw">crate</span>::lock::RwLockWriteGuard;
<a href=#3 id=3 data-nosnippet>3</a><span class="kw">use </span><span class="kw">crate</span>::util::SharedValue;
<a href=#4 id=4 data-nosnippet>4</a><span class="kw">use </span><span class="kw">crate</span>::HashMap;
<a href=#5 id=5 data-nosnippet>5</a><span class="kw">use </span>core::hash::Hash;
<a href=#6 id=6 data-nosnippet>6</a><span class="kw">use </span>core::mem;
<a href=#7 id=7 data-nosnippet>7</a>
<a href=#8 id=8 data-nosnippet>8</a><span class="kw">pub enum </span>Entry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#9 id=9 data-nosnippet>9</a> Occupied(OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt;),
<a href=#10 id=10 data-nosnippet>10</a> Vacant(VacantEntry&lt;<span class="lifetime">'a</span>, K, V&gt;),
<a href=#11 id=11 data-nosnippet>11</a>}
<a href=#12 id=12 data-nosnippet>12</a>
<a href=#13 id=13 data-nosnippet>13</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; Entry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#14 id=14 data-nosnippet>14</a> <span class="doccomment">/// Apply a function to the stored value if it exists.
<a href=#15 id=15 data-nosnippet>15</a> </span><span class="kw">pub fn </span>and_modify(<span class="self">self</span>, f: <span class="kw">impl </span>FnOnce(<span class="kw-2">&amp;mut </span>V)) -&gt; <span class="self">Self </span>{
<a href=#16 id=16 data-nosnippet>16</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#17 id=17 data-nosnippet>17</a> Entry::Occupied(<span class="kw-2">mut </span>entry) =&gt; {
<a href=#18 id=18 data-nosnippet>18</a> f(entry.get_mut());
<a href=#19 id=19 data-nosnippet>19</a>
<a href=#20 id=20 data-nosnippet>20</a> Entry::Occupied(entry)
<a href=#21 id=21 data-nosnippet>21</a> }
<a href=#22 id=22 data-nosnippet>22</a>
<a href=#23 id=23 data-nosnippet>23</a> Entry::Vacant(entry) =&gt; Entry::Vacant(entry),
<a href=#24 id=24 data-nosnippet>24</a> }
<a href=#25 id=25 data-nosnippet>25</a> }
<a href=#26 id=26 data-nosnippet>26</a>
<a href=#27 id=27 data-nosnippet>27</a> <span class="doccomment">/// Get the key of the entry.
<a href=#28 id=28 data-nosnippet>28</a> </span><span class="kw">pub fn </span>key(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>K {
<a href=#29 id=29 data-nosnippet>29</a> <span class="kw">match </span><span class="kw-2">*</span><span class="self">self </span>{
<a href=#30 id=30 data-nosnippet>30</a> Entry::Occupied(<span class="kw-2">ref </span>entry) =&gt; entry.key(),
<a href=#31 id=31 data-nosnippet>31</a> Entry::Vacant(<span class="kw-2">ref </span>entry) =&gt; entry.key(),
<a href=#32 id=32 data-nosnippet>32</a> }
<a href=#33 id=33 data-nosnippet>33</a> }
<a href=#34 id=34 data-nosnippet>34</a>
<a href=#35 id=35 data-nosnippet>35</a> <span class="doccomment">/// Into the key of the entry.
<a href=#36 id=36 data-nosnippet>36</a> </span><span class="kw">pub fn </span>into_key(<span class="self">self</span>) -&gt; K {
<a href=#37 id=37 data-nosnippet>37</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#38 id=38 data-nosnippet>38</a> Entry::Occupied(entry) =&gt; entry.into_key(),
<a href=#39 id=39 data-nosnippet>39</a> Entry::Vacant(entry) =&gt; entry.into_key(),
<a href=#40 id=40 data-nosnippet>40</a> }
<a href=#41 id=41 data-nosnippet>41</a> }
<a href=#42 id=42 data-nosnippet>42</a>
<a href=#43 id=43 data-nosnippet>43</a> <span class="doccomment">/// Return a mutable reference to the element if it exists,
<a href=#44 id=44 data-nosnippet>44</a> /// otherwise insert the default and return a mutable reference to that.
<a href=#45 id=45 data-nosnippet>45</a> </span><span class="kw">pub fn </span>or_default(<span class="self">self</span>) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt;
<a href=#46 id=46 data-nosnippet>46</a> <span class="kw">where
<a href=#47 id=47 data-nosnippet>47</a> </span>V: Default,
<a href=#48 id=48 data-nosnippet>48</a> {
<a href=#49 id=49 data-nosnippet>49</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#50 id=50 data-nosnippet>50</a> Entry::Occupied(entry) =&gt; entry.into_ref(),
<a href=#51 id=51 data-nosnippet>51</a> Entry::Vacant(entry) =&gt; entry.insert(V::default()),
<a href=#52 id=52 data-nosnippet>52</a> }
<a href=#53 id=53 data-nosnippet>53</a> }
<a href=#54 id=54 data-nosnippet>54</a>
<a href=#55 id=55 data-nosnippet>55</a> <span class="doccomment">/// Return a mutable reference to the element if it exists,
<a href=#56 id=56 data-nosnippet>56</a> /// otherwise a provided value and return a mutable reference to that.
<a href=#57 id=57 data-nosnippet>57</a> </span><span class="kw">pub fn </span>or_insert(<span class="self">self</span>, value: V) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#58 id=58 data-nosnippet>58</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#59 id=59 data-nosnippet>59</a> Entry::Occupied(entry) =&gt; entry.into_ref(),
<a href=#60 id=60 data-nosnippet>60</a> Entry::Vacant(entry) =&gt; entry.insert(value),
<a href=#61 id=61 data-nosnippet>61</a> }
<a href=#62 id=62 data-nosnippet>62</a> }
<a href=#63 id=63 data-nosnippet>63</a>
<a href=#64 id=64 data-nosnippet>64</a> <span class="doccomment">/// Return a mutable reference to the element if it exists,
<a href=#65 id=65 data-nosnippet>65</a> /// otherwise insert the result of a provided function and return a mutable reference to that.
<a href=#66 id=66 data-nosnippet>66</a> </span><span class="kw">pub fn </span>or_insert_with(<span class="self">self</span>, value: <span class="kw">impl </span>FnOnce() -&gt; V) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#67 id=67 data-nosnippet>67</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#68 id=68 data-nosnippet>68</a> Entry::Occupied(entry) =&gt; entry.into_ref(),
<a href=#69 id=69 data-nosnippet>69</a> Entry::Vacant(entry) =&gt; entry.insert(value()),
<a href=#70 id=70 data-nosnippet>70</a> }
<a href=#71 id=71 data-nosnippet>71</a> }
<a href=#72 id=72 data-nosnippet>72</a>
<a href=#73 id=73 data-nosnippet>73</a> <span class="kw">pub fn </span>or_try_insert_with&lt;E&gt;(
<a href=#74 id=74 data-nosnippet>74</a> <span class="self">self</span>,
<a href=#75 id=75 data-nosnippet>75</a> value: <span class="kw">impl </span>FnOnce() -&gt; <span class="prelude-ty">Result</span>&lt;V, E&gt;,
<a href=#76 id=76 data-nosnippet>76</a> ) -&gt; <span class="prelude-ty">Result</span>&lt;RefMut&lt;<span class="lifetime">'a</span>, K, V&gt;, E&gt; {
<a href=#77 id=77 data-nosnippet>77</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#78 id=78 data-nosnippet>78</a> Entry::Occupied(entry) =&gt; <span class="prelude-val">Ok</span>(entry.into_ref()),
<a href=#79 id=79 data-nosnippet>79</a> Entry::Vacant(entry) =&gt; <span class="prelude-val">Ok</span>(entry.insert(value()<span class="question-mark">?</span>)),
<a href=#80 id=80 data-nosnippet>80</a> }
<a href=#81 id=81 data-nosnippet>81</a> }
<a href=#82 id=82 data-nosnippet>82</a>
<a href=#83 id=83 data-nosnippet>83</a> <span class="doccomment">/// Sets the value of the entry, and returns a reference to the inserted value.
<a href=#84 id=84 data-nosnippet>84</a> </span><span class="kw">pub fn </span>insert(<span class="self">self</span>, value: V) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#85 id=85 data-nosnippet>85</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#86 id=86 data-nosnippet>86</a> Entry::Occupied(<span class="kw-2">mut </span>entry) =&gt; {
<a href=#87 id=87 data-nosnippet>87</a> entry.insert(value);
<a href=#88 id=88 data-nosnippet>88</a> entry.into_ref()
<a href=#89 id=89 data-nosnippet>89</a> }
<a href=#90 id=90 data-nosnippet>90</a> Entry::Vacant(entry) =&gt; entry.insert(value),
<a href=#91 id=91 data-nosnippet>91</a> }
<a href=#92 id=92 data-nosnippet>92</a> }
<a href=#93 id=93 data-nosnippet>93</a>
<a href=#94 id=94 data-nosnippet>94</a> <span class="doccomment">/// Sets the value of the entry, and returns an OccupiedEntry.
<a href=#95 id=95 data-nosnippet>95</a> ///
<a href=#96 id=96 data-nosnippet>96</a> /// If you are not interested in the occupied entry,
<a href=#97 id=97 data-nosnippet>97</a> /// consider [`insert`] as it doesn't need to clone the key.
<a href=#98 id=98 data-nosnippet>98</a> ///
<a href=#99 id=99 data-nosnippet>99</a> /// [`insert`]: Entry::insert
<a href=#100 id=100 data-nosnippet>100</a> </span><span class="kw">pub fn </span>insert_entry(<span class="self">self</span>, value: V) -&gt; OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt;
<a href=#101 id=101 data-nosnippet>101</a> <span class="kw">where
<a href=#102 id=102 data-nosnippet>102</a> </span>K: Clone,
<a href=#103 id=103 data-nosnippet>103</a> {
<a href=#104 id=104 data-nosnippet>104</a> <span class="kw">match </span><span class="self">self </span>{
<a href=#105 id=105 data-nosnippet>105</a> Entry::Occupied(<span class="kw-2">mut </span>entry) =&gt; {
<a href=#106 id=106 data-nosnippet>106</a> entry.insert(value);
<a href=#107 id=107 data-nosnippet>107</a> entry
<a href=#108 id=108 data-nosnippet>108</a> }
<a href=#109 id=109 data-nosnippet>109</a> Entry::Vacant(entry) =&gt; entry.insert_entry(value),
<a href=#110 id=110 data-nosnippet>110</a> }
<a href=#111 id=111 data-nosnippet>111</a> }
<a href=#112 id=112 data-nosnippet>112</a>}
<a href=#113 id=113 data-nosnippet>113</a>
<a href=#114 id=114 data-nosnippet>114</a><span class="kw">pub struct </span>VacantEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#115 id=115 data-nosnippet>115</a> shard: RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;,
<a href=#116 id=116 data-nosnippet>116</a> key: K,
<a href=#117 id=117 data-nosnippet>117</a> hash: u64,
<a href=#118 id=118 data-nosnippet>118</a> slot: hashbrown::raw::InsertSlot,
<a href=#119 id=119 data-nosnippet>119</a>}
<a href=#120 id=120 data-nosnippet>120</a>
<a href=#121 id=121 data-nosnippet>121</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Send <span class="kw">for </span>VacantEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#122 id=122 data-nosnippet>122</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Sync <span class="kw">for </span>VacantEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#123 id=123 data-nosnippet>123</a>
<a href=#124 id=124 data-nosnippet>124</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; VacantEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#125 id=125 data-nosnippet>125</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">unsafe fn </span>new(
<a href=#126 id=126 data-nosnippet>126</a> shard: RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;,
<a href=#127 id=127 data-nosnippet>127</a> key: K,
<a href=#128 id=128 data-nosnippet>128</a> hash: u64,
<a href=#129 id=129 data-nosnippet>129</a> slot: hashbrown::raw::InsertSlot,
<a href=#130 id=130 data-nosnippet>130</a> ) -&gt; <span class="self">Self </span>{
<a href=#131 id=131 data-nosnippet>131</a> <span class="self">Self </span>{
<a href=#132 id=132 data-nosnippet>132</a> shard,
<a href=#133 id=133 data-nosnippet>133</a> key,
<a href=#134 id=134 data-nosnippet>134</a> hash,
<a href=#135 id=135 data-nosnippet>135</a> slot,
<a href=#136 id=136 data-nosnippet>136</a> }
<a href=#137 id=137 data-nosnippet>137</a> }
<a href=#138 id=138 data-nosnippet>138</a>
<a href=#139 id=139 data-nosnippet>139</a> <span class="kw">pub fn </span>insert(<span class="kw-2">mut </span><span class="self">self</span>, value: V) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#140 id=140 data-nosnippet>140</a> <span class="kw">unsafe </span>{
<a href=#141 id=141 data-nosnippet>141</a> <span class="kw">let </span>occupied = <span class="self">self</span>.shard.insert_in_slot(
<a href=#142 id=142 data-nosnippet>142</a> <span class="self">self</span>.hash,
<a href=#143 id=143 data-nosnippet>143</a> <span class="self">self</span>.slot,
<a href=#144 id=144 data-nosnippet>144</a> (<span class="self">self</span>.key, SharedValue::new(value)),
<a href=#145 id=145 data-nosnippet>145</a> );
<a href=#146 id=146 data-nosnippet>146</a>
<a href=#147 id=147 data-nosnippet>147</a> <span class="kw">let </span>(k, v) = occupied.as_ref();
<a href=#148 id=148 data-nosnippet>148</a>
<a href=#149 id=149 data-nosnippet>149</a> RefMut::new(<span class="self">self</span>.shard, k, v.as_ptr())
<a href=#150 id=150 data-nosnippet>150</a> }
<a href=#151 id=151 data-nosnippet>151</a> }
<a href=#152 id=152 data-nosnippet>152</a>
<a href=#153 id=153 data-nosnippet>153</a> <span class="doccomment">/// Sets the value of the entry with the VacantEntrys key, and returns an OccupiedEntry.
<a href=#154 id=154 data-nosnippet>154</a> </span><span class="kw">pub fn </span>insert_entry(<span class="kw-2">mut </span><span class="self">self</span>, value: V) -&gt; OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt;
<a href=#155 id=155 data-nosnippet>155</a> <span class="kw">where
<a href=#156 id=156 data-nosnippet>156</a> </span>K: Clone,
<a href=#157 id=157 data-nosnippet>157</a> {
<a href=#158 id=158 data-nosnippet>158</a> <span class="kw">unsafe </span>{
<a href=#159 id=159 data-nosnippet>159</a> <span class="kw">let </span>bucket = <span class="self">self</span>.shard.insert_in_slot(
<a href=#160 id=160 data-nosnippet>160</a> <span class="self">self</span>.hash,
<a href=#161 id=161 data-nosnippet>161</a> <span class="self">self</span>.slot,
<a href=#162 id=162 data-nosnippet>162</a> (<span class="self">self</span>.key.clone(), SharedValue::new(value)),
<a href=#163 id=163 data-nosnippet>163</a> );
<a href=#164 id=164 data-nosnippet>164</a>
<a href=#165 id=165 data-nosnippet>165</a> OccupiedEntry::new(<span class="self">self</span>.shard, <span class="self">self</span>.key, bucket)
<a href=#166 id=166 data-nosnippet>166</a> }
<a href=#167 id=167 data-nosnippet>167</a> }
<a href=#168 id=168 data-nosnippet>168</a>
<a href=#169 id=169 data-nosnippet>169</a> <span class="kw">pub fn </span>into_key(<span class="self">self</span>) -&gt; K {
<a href=#170 id=170 data-nosnippet>170</a> <span class="self">self</span>.key
<a href=#171 id=171 data-nosnippet>171</a> }
<a href=#172 id=172 data-nosnippet>172</a>
<a href=#173 id=173 data-nosnippet>173</a> <span class="kw">pub fn </span>key(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>K {
<a href=#174 id=174 data-nosnippet>174</a> <span class="kw-2">&amp;</span><span class="self">self</span>.key
<a href=#175 id=175 data-nosnippet>175</a> }
<a href=#176 id=176 data-nosnippet>176</a>}
<a href=#177 id=177 data-nosnippet>177</a>
<a href=#178 id=178 data-nosnippet>178</a><span class="kw">pub struct </span>OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#179 id=179 data-nosnippet>179</a> shard: RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;,
<a href=#180 id=180 data-nosnippet>180</a> bucket: hashbrown::raw::Bucket&lt;(K, SharedValue&lt;V&gt;)&gt;,
<a href=#181 id=181 data-nosnippet>181</a> key: K,
<a href=#182 id=182 data-nosnippet>182</a>}
<a href=#183 id=183 data-nosnippet>183</a>
<a href=#184 id=184 data-nosnippet>184</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Send <span class="kw">for </span>OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#185 id=185 data-nosnippet>185</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Sync <span class="kw">for </span>OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#186 id=186 data-nosnippet>186</a>
<a href=#187 id=187 data-nosnippet>187</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; OccupiedEntry&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#188 id=188 data-nosnippet>188</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">unsafe fn </span>new(
<a href=#189 id=189 data-nosnippet>189</a> shard: RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;,
<a href=#190 id=190 data-nosnippet>190</a> key: K,
<a href=#191 id=191 data-nosnippet>191</a> bucket: hashbrown::raw::Bucket&lt;(K, SharedValue&lt;V&gt;)&gt;,
<a href=#192 id=192 data-nosnippet>192</a> ) -&gt; <span class="self">Self </span>{
<a href=#193 id=193 data-nosnippet>193</a> <span class="self">Self </span>{ shard, bucket, key }
<a href=#194 id=194 data-nosnippet>194</a> }
<a href=#195 id=195 data-nosnippet>195</a>
<a href=#196 id=196 data-nosnippet>196</a> <span class="kw">pub fn </span>get(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>V {
<a href=#197 id=197 data-nosnippet>197</a> <span class="kw">unsafe </span>{ <span class="self">self</span>.bucket.as_ref().<span class="number">1</span>.get() }
<a href=#198 id=198 data-nosnippet>198</a> }
<a href=#199 id=199 data-nosnippet>199</a>
<a href=#200 id=200 data-nosnippet>200</a> <span class="kw">pub fn </span>get_mut(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;mut </span>V {
<a href=#201 id=201 data-nosnippet>201</a> <span class="kw">unsafe </span>{ <span class="self">self</span>.bucket.as_mut().<span class="number">1</span>.get_mut() }
<a href=#202 id=202 data-nosnippet>202</a> }
<a href=#203 id=203 data-nosnippet>203</a>
<a href=#204 id=204 data-nosnippet>204</a> <span class="kw">pub fn </span>insert(<span class="kw-2">&amp;mut </span><span class="self">self</span>, value: V) -&gt; V {
<a href=#205 id=205 data-nosnippet>205</a> mem::replace(<span class="self">self</span>.get_mut(), value)
<a href=#206 id=206 data-nosnippet>206</a> }
<a href=#207 id=207 data-nosnippet>207</a>
<a href=#208 id=208 data-nosnippet>208</a> <span class="kw">pub fn </span>into_ref(<span class="self">self</span>) -&gt; RefMut&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#209 id=209 data-nosnippet>209</a> <span class="kw">unsafe </span>{
<a href=#210 id=210 data-nosnippet>210</a> <span class="kw">let </span>(k, v) = <span class="self">self</span>.bucket.as_ref();
<a href=#211 id=211 data-nosnippet>211</a> RefMut::new(<span class="self">self</span>.shard, k, v.as_ptr())
<a href=#212 id=212 data-nosnippet>212</a> }
<a href=#213 id=213 data-nosnippet>213</a> }
<a href=#214 id=214 data-nosnippet>214</a>
<a href=#215 id=215 data-nosnippet>215</a> <span class="kw">pub fn </span>into_key(<span class="self">self</span>) -&gt; K {
<a href=#216 id=216 data-nosnippet>216</a> <span class="self">self</span>.key
<a href=#217 id=217 data-nosnippet>217</a> }
<a href=#218 id=218 data-nosnippet>218</a>
<a href=#219 id=219 data-nosnippet>219</a> <span class="kw">pub fn </span>key(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>K {
<a href=#220 id=220 data-nosnippet>220</a> <span class="kw">unsafe </span>{ <span class="kw-2">&amp;</span><span class="self">self</span>.bucket.as_ref().<span class="number">0 </span>}
<a href=#221 id=221 data-nosnippet>221</a> }
<a href=#222 id=222 data-nosnippet>222</a>
<a href=#223 id=223 data-nosnippet>223</a> <span class="kw">pub fn </span>remove(<span class="kw-2">mut </span><span class="self">self</span>) -&gt; V {
<a href=#224 id=224 data-nosnippet>224</a> <span class="kw">let </span>((_k, v), <span class="kw">_</span>) = <span class="kw">unsafe </span>{ <span class="self">self</span>.shard.remove(<span class="self">self</span>.bucket) };
<a href=#225 id=225 data-nosnippet>225</a> v.into_inner()
<a href=#226 id=226 data-nosnippet>226</a> }
<a href=#227 id=227 data-nosnippet>227</a>
<a href=#228 id=228 data-nosnippet>228</a> <span class="kw">pub fn </span>remove_entry(<span class="kw-2">mut </span><span class="self">self</span>) -&gt; (K, V) {
<a href=#229 id=229 data-nosnippet>229</a> <span class="kw">let </span>((k, v), <span class="kw">_</span>) = <span class="kw">unsafe </span>{ <span class="self">self</span>.shard.remove(<span class="self">self</span>.bucket) };
<a href=#230 id=230 data-nosnippet>230</a> (k, v.into_inner())
<a href=#231 id=231 data-nosnippet>231</a> }
<a href=#232 id=232 data-nosnippet>232</a>
<a href=#233 id=233 data-nosnippet>233</a> <span class="kw">pub fn </span>replace_entry(<span class="self">self</span>, value: V) -&gt; (K, V) {
<a href=#234 id=234 data-nosnippet>234</a> <span class="kw">let </span>(k, v) = mem::replace(
<a href=#235 id=235 data-nosnippet>235</a> <span class="kw">unsafe </span>{ <span class="self">self</span>.bucket.as_mut() },
<a href=#236 id=236 data-nosnippet>236</a> (<span class="self">self</span>.key, SharedValue::new(value)),
<a href=#237 id=237 data-nosnippet>237</a> );
<a href=#238 id=238 data-nosnippet>238</a> (k, v.into_inner())
<a href=#239 id=239 data-nosnippet>239</a> }
<a href=#240 id=240 data-nosnippet>240</a>}
<a href=#241 id=241 data-nosnippet>241</a>
<a href=#242 id=242 data-nosnippet>242</a><span class="attr">#[cfg(test)]
<a href=#243 id=243 data-nosnippet>243</a></span><span class="kw">mod </span>tests {
<a href=#244 id=244 data-nosnippet>244</a> <span class="kw">use </span><span class="kw">crate</span>::DashMap;
<a href=#245 id=245 data-nosnippet>245</a>
<a href=#246 id=246 data-nosnippet>246</a> <span class="kw">use super</span>::<span class="kw-2">*</span>;
<a href=#247 id=247 data-nosnippet>247</a>
<a href=#248 id=248 data-nosnippet>248</a> <span class="attr">#[test]
<a href=#249 id=249 data-nosnippet>249</a> </span><span class="kw">fn </span>test_insert_entry_into_vacant() {
<a href=#250 id=250 data-nosnippet>250</a> <span class="kw">let </span>map: DashMap&lt;u32, u32&gt; = DashMap::new();
<a href=#251 id=251 data-nosnippet>251</a>
<a href=#252 id=252 data-nosnippet>252</a> <span class="kw">let </span>entry = map.entry(<span class="number">1</span>);
<a href=#253 id=253 data-nosnippet>253</a>
<a href=#254 id=254 data-nosnippet>254</a> <span class="macro">assert!</span>(<span class="macro">matches!</span>(entry, Entry::Vacant(<span class="kw">_</span>)));
<a href=#255 id=255 data-nosnippet>255</a>
<a href=#256 id=256 data-nosnippet>256</a> <span class="kw">let </span>entry = entry.insert_entry(<span class="number">2</span>);
<a href=#257 id=257 data-nosnippet>257</a>
<a href=#258 id=258 data-nosnippet>258</a> <span class="macro">assert_eq!</span>(<span class="kw-2">*</span>entry.get(), <span class="number">2</span>);
<a href=#259 id=259 data-nosnippet>259</a>
<a href=#260 id=260 data-nosnippet>260</a> drop(entry);
<a href=#261 id=261 data-nosnippet>261</a>
<a href=#262 id=262 data-nosnippet>262</a> <span class="macro">assert_eq!</span>(<span class="kw-2">*</span>map.get(<span class="kw-2">&amp;</span><span class="number">1</span>).unwrap(), <span class="number">2</span>);
<a href=#263 id=263 data-nosnippet>263</a> }
<a href=#264 id=264 data-nosnippet>264</a>
<a href=#265 id=265 data-nosnippet>265</a> <span class="attr">#[test]
<a href=#266 id=266 data-nosnippet>266</a> </span><span class="kw">fn </span>test_insert_entry_into_occupied() {
<a href=#267 id=267 data-nosnippet>267</a> <span class="kw">let </span>map: DashMap&lt;u32, u32&gt; = DashMap::new();
<a href=#268 id=268 data-nosnippet>268</a>
<a href=#269 id=269 data-nosnippet>269</a> map.insert(<span class="number">1</span>, <span class="number">1000</span>);
<a href=#270 id=270 data-nosnippet>270</a>
<a href=#271 id=271 data-nosnippet>271</a> <span class="kw">let </span>entry = map.entry(<span class="number">1</span>);
<a href=#272 id=272 data-nosnippet>272</a>
<a href=#273 id=273 data-nosnippet>273</a> <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="kw-2">&amp;</span>entry, Entry::Occupied(entry) <span class="kw">if </span><span class="kw-2">*</span>entry.get() == <span class="number">1000</span>));
<a href=#274 id=274 data-nosnippet>274</a>
<a href=#275 id=275 data-nosnippet>275</a> <span class="kw">let </span>entry = entry.insert_entry(<span class="number">2</span>);
<a href=#276 id=276 data-nosnippet>276</a>
<a href=#277 id=277 data-nosnippet>277</a> <span class="macro">assert_eq!</span>(<span class="kw-2">*</span>entry.get(), <span class="number">2</span>);
<a href=#278 id=278 data-nosnippet>278</a>
<a href=#279 id=279 data-nosnippet>279</a> drop(entry);
<a href=#280 id=280 data-nosnippet>280</a>
<a href=#281 id=281 data-nosnippet>281</a> <span class="macro">assert_eq!</span>(<span class="kw-2">*</span>map.get(<span class="kw-2">&amp;</span><span class="number">1</span>).unwrap(), <span class="number">2</span>);
<a href=#282 id=282 data-nosnippet>282</a> }
<a href=#283 id=283 data-nosnippet>283</a>}
</code></pre></div></section></main></body></html>

View File

@@ -0,0 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\mapref\mod.rs`."><title>mod.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../../../static.files/src-script-813739b1.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap\mapref/</div>mod.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-1"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">pub mod </span>entry;
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">pub mod </span>multiple;
<a href=#3 id=3 data-nosnippet>3</a><span class="kw">pub mod </span>one;
</code></pre></div></section></main></body></html>

View File

@@ -0,0 +1,106 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `C:\Users\szend\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\dashmap-6.1.0\src\mapref\multiple.rs`."><title>multiple.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="dashmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../../../static.files/src-script-813739b1.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">dashmap\mapref/</div>multiple.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap digits-3"><pre class="rust"><code><a href=#1 id=1 data-nosnippet>1</a><span class="kw">use </span><span class="kw">crate</span>::lock::{RwLockReadGuard, RwLockWriteGuard};
<a href=#2 id=2 data-nosnippet>2</a><span class="kw">use </span><span class="kw">crate</span>::HashMap;
<a href=#3 id=3 data-nosnippet>3</a><span class="kw">use </span>core::hash::Hash;
<a href=#4 id=4 data-nosnippet>4</a><span class="kw">use </span>core::ops::{Deref, DerefMut};
<a href=#5 id=5 data-nosnippet>5</a><span class="kw">use </span>std::sync::Arc;
<a href=#6 id=6 data-nosnippet>6</a>
<a href=#7 id=7 data-nosnippet>7</a><span class="kw">pub struct </span>RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#8 id=8 data-nosnippet>8</a> _guard: Arc&lt;RwLockReadGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#9 id=9 data-nosnippet>9</a> k: <span class="kw-2">*const </span>K,
<a href=#10 id=10 data-nosnippet>10</a> v: <span class="kw-2">*const </span>V,
<a href=#11 id=11 data-nosnippet>11</a>}
<a href=#12 id=12 data-nosnippet>12</a>
<a href=#13 id=13 data-nosnippet>13</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Send <span class="kw">for </span>RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#14 id=14 data-nosnippet>14</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Sync <span class="kw">for </span>RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#15 id=15 data-nosnippet>15</a>
<a href=#16 id=16 data-nosnippet>16</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#17 id=17 data-nosnippet>17</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">unsafe fn </span>new(
<a href=#18 id=18 data-nosnippet>18</a> guard: Arc&lt;RwLockReadGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#19 id=19 data-nosnippet>19</a> k: <span class="kw-2">*const </span>K,
<a href=#20 id=20 data-nosnippet>20</a> v: <span class="kw-2">*const </span>V,
<a href=#21 id=21 data-nosnippet>21</a> ) -&gt; <span class="self">Self </span>{
<a href=#22 id=22 data-nosnippet>22</a> <span class="self">Self </span>{
<a href=#23 id=23 data-nosnippet>23</a> _guard: guard,
<a href=#24 id=24 data-nosnippet>24</a> k,
<a href=#25 id=25 data-nosnippet>25</a> v,
<a href=#26 id=26 data-nosnippet>26</a> }
<a href=#27 id=27 data-nosnippet>27</a> }
<a href=#28 id=28 data-nosnippet>28</a>
<a href=#29 id=29 data-nosnippet>29</a> <span class="kw">pub fn </span>key(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>K {
<a href=#30 id=30 data-nosnippet>30</a> <span class="self">self</span>.pair().<span class="number">0
<a href=#31 id=31 data-nosnippet>31</a> </span>}
<a href=#32 id=32 data-nosnippet>32</a>
<a href=#33 id=33 data-nosnippet>33</a> <span class="kw">pub fn </span>value(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>V {
<a href=#34 id=34 data-nosnippet>34</a> <span class="self">self</span>.pair().<span class="number">1
<a href=#35 id=35 data-nosnippet>35</a> </span>}
<a href=#36 id=36 data-nosnippet>36</a>
<a href=#37 id=37 data-nosnippet>37</a> <span class="kw">pub fn </span>pair(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; (<span class="kw-2">&amp;</span>K, <span class="kw-2">&amp;</span>V) {
<a href=#38 id=38 data-nosnippet>38</a> <span class="kw">unsafe </span>{ (<span class="kw-2">&amp;*</span><span class="self">self</span>.k, <span class="kw-2">&amp;*</span><span class="self">self</span>.v) }
<a href=#39 id=39 data-nosnippet>39</a> }
<a href=#40 id=40 data-nosnippet>40</a>}
<a href=#41 id=41 data-nosnippet>41</a>
<a href=#42 id=42 data-nosnippet>42</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; Deref <span class="kw">for </span>RefMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#43 id=43 data-nosnippet>43</a> <span class="kw">type </span>Target = V;
<a href=#44 id=44 data-nosnippet>44</a>
<a href=#45 id=45 data-nosnippet>45</a> <span class="kw">fn </span>deref(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>V {
<a href=#46 id=46 data-nosnippet>46</a> <span class="self">self</span>.value()
<a href=#47 id=47 data-nosnippet>47</a> }
<a href=#48 id=48 data-nosnippet>48</a>}
<a href=#49 id=49 data-nosnippet>49</a>
<a href=#50 id=50 data-nosnippet>50</a><span class="kw">pub struct </span>RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#51 id=51 data-nosnippet>51</a> _guard: Arc&lt;RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#52 id=52 data-nosnippet>52</a> k: <span class="kw-2">*const </span>K,
<a href=#53 id=53 data-nosnippet>53</a> v: <span class="kw-2">*mut </span>V,
<a href=#54 id=54 data-nosnippet>54</a>}
<a href=#55 id=55 data-nosnippet>55</a>
<a href=#56 id=56 data-nosnippet>56</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Send <span class="kw">for </span>RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#57 id=57 data-nosnippet>57</a><span class="kw">unsafe impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash + Sync, V: Sync&gt; Sync <span class="kw">for </span>RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {}
<a href=#58 id=58 data-nosnippet>58</a>
<a href=#59 id=59 data-nosnippet>59</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#60 id=60 data-nosnippet>60</a> <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">unsafe fn </span>new(
<a href=#61 id=61 data-nosnippet>61</a> guard: Arc&lt;RwLockWriteGuard&lt;<span class="lifetime">'a</span>, HashMap&lt;K, V&gt;&gt;&gt;,
<a href=#62 id=62 data-nosnippet>62</a> k: <span class="kw-2">*const </span>K,
<a href=#63 id=63 data-nosnippet>63</a> v: <span class="kw-2">*mut </span>V,
<a href=#64 id=64 data-nosnippet>64</a> ) -&gt; <span class="self">Self </span>{
<a href=#65 id=65 data-nosnippet>65</a> <span class="self">Self </span>{
<a href=#66 id=66 data-nosnippet>66</a> _guard: guard,
<a href=#67 id=67 data-nosnippet>67</a> k,
<a href=#68 id=68 data-nosnippet>68</a> v,
<a href=#69 id=69 data-nosnippet>69</a> }
<a href=#70 id=70 data-nosnippet>70</a> }
<a href=#71 id=71 data-nosnippet>71</a>
<a href=#72 id=72 data-nosnippet>72</a> <span class="kw">pub fn </span>key(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>K {
<a href=#73 id=73 data-nosnippet>73</a> <span class="self">self</span>.pair().<span class="number">0
<a href=#74 id=74 data-nosnippet>74</a> </span>}
<a href=#75 id=75 data-nosnippet>75</a>
<a href=#76 id=76 data-nosnippet>76</a> <span class="kw">pub fn </span>value(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>V {
<a href=#77 id=77 data-nosnippet>77</a> <span class="self">self</span>.pair().<span class="number">1
<a href=#78 id=78 data-nosnippet>78</a> </span>}
<a href=#79 id=79 data-nosnippet>79</a>
<a href=#80 id=80 data-nosnippet>80</a> <span class="kw">pub fn </span>value_mut(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;mut </span>V {
<a href=#81 id=81 data-nosnippet>81</a> <span class="self">self</span>.pair_mut().<span class="number">1
<a href=#82 id=82 data-nosnippet>82</a> </span>}
<a href=#83 id=83 data-nosnippet>83</a>
<a href=#84 id=84 data-nosnippet>84</a> <span class="kw">pub fn </span>pair(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; (<span class="kw-2">&amp;</span>K, <span class="kw-2">&amp;</span>V) {
<a href=#85 id=85 data-nosnippet>85</a> <span class="kw">unsafe </span>{ (<span class="kw-2">&amp;*</span><span class="self">self</span>.k, <span class="kw-2">&amp;*</span><span class="self">self</span>.v) }
<a href=#86 id=86 data-nosnippet>86</a> }
<a href=#87 id=87 data-nosnippet>87</a>
<a href=#88 id=88 data-nosnippet>88</a> <span class="kw">pub fn </span>pair_mut(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; (<span class="kw-2">&amp;</span>K, <span class="kw-2">&amp;mut </span>V) {
<a href=#89 id=89 data-nosnippet>89</a> <span class="kw">unsafe </span>{ (<span class="kw-2">&amp;*</span><span class="self">self</span>.k, <span class="kw-2">&amp;mut *</span><span class="self">self</span>.v) }
<a href=#90 id=90 data-nosnippet>90</a> }
<a href=#91 id=91 data-nosnippet>91</a>}
<a href=#92 id=92 data-nosnippet>92</a>
<a href=#93 id=93 data-nosnippet>93</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; Deref <span class="kw">for </span>RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#94 id=94 data-nosnippet>94</a> <span class="kw">type </span>Target = V;
<a href=#95 id=95 data-nosnippet>95</a>
<a href=#96 id=96 data-nosnippet>96</a> <span class="kw">fn </span>deref(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>V {
<a href=#97 id=97 data-nosnippet>97</a> <span class="self">self</span>.value()
<a href=#98 id=98 data-nosnippet>98</a> }
<a href=#99 id=99 data-nosnippet>99</a>}
<a href=#100 id=100 data-nosnippet>100</a>
<a href=#101 id=101 data-nosnippet>101</a><span class="kw">impl</span>&lt;<span class="lifetime">'a</span>, K: Eq + Hash, V&gt; DerefMut <span class="kw">for </span>RefMutMulti&lt;<span class="lifetime">'a</span>, K, V&gt; {
<a href=#102 id=102 data-nosnippet>102</a> <span class="kw">fn </span>deref_mut(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;mut </span>V {
<a href=#103 id=103 data-nosnippet>103</a> <span class="self">self</span>.value_mut()
<a href=#104 id=104 data-nosnippet>104</a> }
<a href=#105 id=105 data-nosnippet>105</a>}
</code></pre></div></section></main></body></html>

Some files were not shown because too many files have changed in this diff Show More