Auto Generated Documentation
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
<!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="Thread-safe, non-blocking, “first one wins” flavor of `OnceCell`."><title>once_cell::race - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.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" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-46132b98.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="once_cell" data-themes="" data-resource-suffix="" data-rustdoc-version="1.85.1 (4eb161250 2025-03-15)" data-channel="1.85.1" data-search-js="search-75f5ac3e.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.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]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../once_cell/index.html">once_<wbr>cell</a><span class="version">1.21.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module race</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#atomic-orderings" title="Atomic orderings">Atomic orderings</a></li></ul><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 once_<wbr>cell</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">once_cell</a></span><h1>Module <span>race</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/once_cell/race.rs.html#1-498">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Thread-safe, non-blocking, “first one wins” flavor of <code>OnceCell</code>.</p>
|
||||
<p>If two threads race to initialize a type from the <code>race</code> module, they
|
||||
don’t block, execute initialization function together, but only one of
|
||||
them stores the result.</p>
|
||||
<p>This module does not require <code>std</code> feature.</p>
|
||||
<h2 id="atomic-orderings"><a class="doc-anchor" href="#atomic-orderings">§</a>Atomic orderings</h2>
|
||||
<p>All types in this module use <code>Acquire</code> and <code>Release</code>
|
||||
<a href="https://doc.rust-lang.org/1.85.1/core/sync/atomic/enum.Ordering.html" title="enum core::sync::atomic::Ordering">atomic orderings</a> for all their operations. While this is not
|
||||
strictly necessary for types other than <code>OnceBox</code>, it is useful for users as
|
||||
it allows them to be certain that after <code>get</code> or <code>get_or_init</code> returns on
|
||||
one thread, any side-effects caused by the setter thread prior to them
|
||||
calling <code>set</code> or <code>get_or_init</code> will be made visible to that thread; without
|
||||
it, it’s possible for it to appear as if they haven’t happened yet from the
|
||||
getter thread’s perspective. This is an acceptable tradeoff to make since
|
||||
<code>Acquire</code> and <code>Release</code> have very little performance overhead on most
|
||||
architectures versus <code>Relaxed</code>.</p>
|
||||
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.OnceBool.html" title="struct once_cell::race::OnceBool">Once<wbr>Bool</a></div><div class="desc docblock-short">A thread-safe cell which can be written to only once.</div></li><li><div class="item-name"><a class="struct" href="struct.OnceBox.html" title="struct once_cell::race::OnceBox">OnceBox</a></div><div class="desc docblock-short">A thread-safe cell which can be written to only once.</div></li><li><div class="item-name"><a class="struct" href="struct.OnceNonZeroUsize.html" title="struct once_cell::race::OnceNonZeroUsize">Once<wbr>NonZero<wbr>Usize</a></div><div class="desc docblock-short">A thread-safe cell which can be written to only once.</div></li><li><div class="item-name"><a class="struct" href="struct.OnceRef.html" title="struct once_cell::race::OnceRef">OnceRef</a></div><div class="desc docblock-short">A thread-safe cell which can be written to only once.</div></li></ul></section></div></main></body></html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../../once_cell/race/struct.OnceBox.html">
|
||||
<title>Redirection</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../../once_cell/race/struct.OnceBox.html">../../../once_cell/race/struct.OnceBox.html</a>...</p>
|
||||
<script>location.replace("../../../once_cell/race/struct.OnceBox.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
window.SIDEBAR_ITEMS = {"struct":["OnceBool","OnceBox","OnceNonZeroUsize","OnceRef"]};
|
||||
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
Reference in New Issue
Block a user