Struct diem_sdk::crypto::_once_cell::race::OnceNonZeroUsize [−]
pub struct OnceNonZeroUsize { /* fields omitted */ }
Expand description
A thread-safe cell which can be written to only once.
Implementations
impl OnceNonZeroUsize
impl OnceNonZeroUsize
pub const fn new() -> OnceNonZeroUsize
pub const fn new() -> OnceNonZeroUsize
Creates a new empty cell.
pub fn get(&self) -> Option<NonZeroUsize>
pub fn get(&self) -> Option<NonZeroUsize>
Gets the underlying value.
pub fn set(&self, value: NonZeroUsize) -> Result<(), ()>
pub fn set(&self, value: NonZeroUsize) -> Result<(), ()>
Sets the contents of this cell to value
.
Returns Ok(())
if the cell was empty and Err(())
if it was
full.
pub fn get_or_init<F>(&self, f: F) -> NonZeroUsize where
F: FnOnce() -> NonZeroUsize,
pub fn get_or_init<F>(&self, f: F) -> NonZeroUsize where
F: FnOnce() -> NonZeroUsize,
Gets the contents of the cell, initializing it with f
if the cell was
empty.
If several threads concurrently run get_or_init
, more than one f
can
be called. However, all threads will return the same value, produced by
some f
.
pub fn get_or_try_init<F, E>(&self, f: F) -> Result<NonZeroUsize, E> where
F: FnOnce() -> Result<NonZeroUsize, E>,
pub fn get_or_try_init<F, E>(&self, f: F) -> Result<NonZeroUsize, E> where
F: FnOnce() -> Result<NonZeroUsize, E>,
Gets the contents of the cell, initializing it with f
if
the cell was empty. If the cell was empty and f
failed, an
error is returned.
If several threads concurrently run get_or_init
, more than one f
can
be called. However, all threads will return the same value, produced by
some f
.
Trait Implementations
impl Debug for OnceNonZeroUsize
impl Debug for OnceNonZeroUsize
impl Default for OnceNonZeroUsize
impl Default for OnceNonZeroUsize
pub fn default() -> OnceNonZeroUsize
pub fn default() -> OnceNonZeroUsize
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for OnceNonZeroUsize
impl Send for OnceNonZeroUsize
impl Sync for OnceNonZeroUsize
impl Unpin for OnceNonZeroUsize
impl UnwindSafe for OnceNonZeroUsize
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more