This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.

53 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="This library provides implementations of `Mutex`, `RwLock`, `Condvar` and `Once` that are smaller, faster and more flexible than those in the Rust standard library. It also provides a `ReentrantMutex` type."><meta name="keywords" content="rust, rustlang, rust-lang, parking_lot"><title>parking_lot - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.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]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../parking_lot/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.png" alt="logo"></div>
</a><h2 class="location">Crate parking_lot</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.12.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all parking_lot's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><div id="sidebar-vars" data-name="parking_lot" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../parking_lot/index.html"><img class="rust-logo" src="../rust-logo.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">parking_lot</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/parking_lot/lib.rs.html#8-56" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This library provides implementations of <code>Mutex</code>, <code>RwLock</code>, <code>Condvar</code> and
<code>Once</code> that are smaller, faster and more flexible than those in the Rust
standard library. It also provides a <code>ReentrantMutex</code> type.</p>
</div></details><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use {{root}}::<a class="mod" href="../lock_api/index.html" title="mod lock_api">lock_api</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Condvar.html" title="parking_lot::Condvar struct">Condvar</a></div><div class="item-right docblock-short"><p>A Condition Variable</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Once.html" title="parking_lot::Once struct">Once</a></div><div class="item-right docblock-short"><p>A synchronization primitive which can be used to run a one-time
initialization. Useful for one-time initialization for globals, FFI or
related functionality.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RawFairMutex.html" title="parking_lot::RawFairMutex struct">RawFairMutex</a></div><div class="item-right docblock-short"><p>Raw fair mutex type backed by the parking lot.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RawMutex.html" title="parking_lot::RawMutex struct">RawMutex</a></div><div class="item-right docblock-short"><p>Raw mutex type backed by the parking lot.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RawRwLock.html" title="parking_lot::RawRwLock struct">RawRwLock</a></div><div class="item-right docblock-short"><p>Raw reader-writer lock type backed by the parking lot.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RawThreadId.html" title="parking_lot::RawThreadId struct">RawThreadId</a></div><div class="item-right docblock-short"><p>Implementation of the <code>GetThreadId</code> trait for <code>lock_api::ReentrantMutex</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WaitTimeoutResult.html" title="parking_lot::WaitTimeoutResult struct">WaitTimeoutResult</a></div><div class="item-right docblock-short"><p>A type indicating whether a timed wait on a condition variable returned
due to a time out or not.</p>
</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.OnceState.html" title="parking_lot::OnceState enum">OnceState</a></div><div class="item-right docblock-short"><p>Current state of a <code>Once</code>.</p>
</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.const_fair_mutex.html" title="parking_lot::const_fair_mutex fn">const_fair_mutex</a></div><div class="item-right docblock-short"><p>Creates a new fair mutex in an unlocked state ready for use.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.const_mutex.html" title="parking_lot::const_mutex fn">const_mutex</a></div><div class="item-right docblock-short"><p>Creates a new mutex in an unlocked state ready for use.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.const_reentrant_mutex.html" title="parking_lot::const_reentrant_mutex fn">const_reentrant_mutex</a></div><div class="item-right docblock-short"><p>Creates a new reentrant mutex in an unlocked state ready for use.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.const_rwlock.html" title="parking_lot::const_rwlock fn">const_rwlock</a></div><div class="item-right docblock-short"><p>Creates a new instance of an <code>RwLock&lt;T&gt;</code> which is unlocked.</p>
</div></div></div><h2 id="types" class="small-section-header"><a href="#types">Type Definitions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="type" href="type.FairMutex.html" title="parking_lot::FairMutex type">FairMutex</a></div><div class="item-right docblock-short"><p>A mutual exclusive primitive that is always fair, useful for protecting shared data</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.FairMutexGuard.html" title="parking_lot::FairMutexGuard type">FairMutexGuard</a></div><div class="item-right docblock-short"><p>An RAII implementation of a “scoped lock” of a mutex. When this structure is
dropped (falls out of scope), the lock will be unlocked.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MappedFairMutexGuard.html" title="parking_lot::MappedFairMutexGuard type">MappedFairMutexGuard</a></div><div class="item-right docblock-short"><p>An RAII mutex guard returned by <code>FairMutexGuard::map</code>, which can point to a
subfield of the protected data.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MappedMutexGuard.html" title="parking_lot::MappedMutexGuard type">MappedMutexGuard</a></div><div class="item-right docblock-short"><p>An RAII mutex guard returned by <code>MutexGuard::map</code>, which can point to a
subfield of the protected data.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MappedReentrantMutexGuard.html" title="parking_lot::MappedReentrantMutexGuard type">MappedReentrantMutexGuard</a></div><div class="item-right docblock-short"><p>An RAII mutex guard returned by <code>ReentrantMutexGuard::map</code>, which can point to a
subfield of the protected data.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MappedRwLockReadGuard.html" title="parking_lot::MappedRwLockReadGuard type">MappedRwLockReadGuard</a></div><div class="item-right docblock-short"><p>An RAII read lock guard returned by <code>RwLockReadGuard::map</code>, which can point to a
subfield of the protected data.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MappedRwLockWriteGuard.html" title="parking_lot::MappedRwLockWriteGuard type">MappedRwLockWriteGuard</a></div><div class="item-right docblock-short"><p>An RAII write lock guard returned by <code>RwLockWriteGuard::map</code>, which can point to a
subfield of the protected data.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Mutex.html" title="parking_lot::Mutex type">Mutex</a></div><div class="item-right docblock-short"><p>A mutual exclusion primitive useful for protecting shared data</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.MutexGuard.html" title="parking_lot::MutexGuard type">MutexGuard</a></div><div class="item-right docblock-short"><p>An RAII implementation of a “scoped lock” of a mutex. When this structure is
dropped (falls out of scope), the lock will be unlocked.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.ReentrantMutex.html" title="parking_lot::ReentrantMutex type">ReentrantMutex</a></div><div class="item-right docblock-short"><p>A mutex which can be recursively locked by a single thread.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.ReentrantMutexGuard.html" title="parking_lot::ReentrantMutexGuard type">ReentrantMutexGuard</a></div><div class="item-right docblock-short"><p>An RAII implementation of a “scoped lock” of a reentrant mutex. When this structure
is dropped (falls out of scope), the lock will be unlocked.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.RwLock.html" title="parking_lot::RwLock type">RwLock</a></div><div class="item-right docblock-short"><p>A reader-writer lock</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.RwLockReadGuard.html" title="parking_lot::RwLockReadGuard type">RwLockReadGuard</a></div><div class="item-right docblock-short"><p>RAII structure used to release the shared read access of a lock when
dropped.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.RwLockUpgradableReadGuard.html" title="parking_lot::RwLockUpgradableReadGuard type">RwLockUpgradableReadGuard</a></div><div class="item-right docblock-short"><p>RAII structure used to release the upgradable read access of a lock when
dropped.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.RwLockWriteGuard.html" title="parking_lot::RwLockWriteGuard type">RwLockWriteGuard</a></div><div class="item-right docblock-short"><p>RAII structure used to release the exclusive write access of a lock when
dropped.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="parking_lot" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>