Struct rafx_base::atomic_once_cell::AtomicOnceCell [−][src]
pub struct AtomicOnceCell<T> { /* fields omitted */ }Expand description
A thread-safe container that does not require default initialization. The cell may be initialized
with set and then retrieved as a reference with get. Calling set is thread-safe. The cell
will panic if the set function is called more than once. The cell will only drop initialized elements.
Guarantees
- The allocated memory will not be
defaultinitialized. - Elements initialized by
setare immutable. - The synchronization is
lock-free.
Implementations
impl<T> AtomicOnceCell<T>[src]
impl<T> AtomicOnceCell<T>[src]Trait Implementations
impl<T> Drop for AtomicOnceCell<T>[src]
impl<T> Drop for AtomicOnceCell<T>[src]impl<T> Sync for AtomicOnceCell<T>[src]
Auto Trait Implementations
impl<T> !RefUnwindSafe for AtomicOnceCell<T>
impl<T> Send for AtomicOnceCell<T> where
T: Send,
T: Send,
impl<T> Unpin for AtomicOnceCell<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for AtomicOnceCell<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any, [src]
impl<T> Downcast for T where
T: Any, [src]pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>[src]
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>[src]Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)[src]
pub fn as_any(&self) -> &(dyn Any + 'static)[src]Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]impl<T> Resource for T where
T: Downcast + Send + Sync, [src]
T: Downcast + Send + Sync,