Trait hal_core::CoreLocal

source ·
pub trait CoreLocal<T: 'static> {
    // Required methods
    fn new(init: fn() -> T) -> Self;
    fn with<F, U>(&self, f: F) -> U
       where F: FnOnce(&T) -> U;
}
Expand description

A core-local storage cell.

This trait represents an architecture-specific mechanism for storing local data for each CPU core.

Required Methods§

source

fn new(init: fn() -> T) -> Self

Returns a new instance of Self, using the provided init function to generate the initial value for each CPU core.

source

fn with<F, U>(&self, f: F) -> U
where F: FnOnce(&T) -> U,

Accesses the value for the current CPU core.

This method invokes the provided closure f with a reference to the T-typed local data for the current CPU core.

Object Safety§

This trait is not object safe.

Implementors§