Initial node implementation #4
13
src/cell.rs
Normal file
13
src/cell.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use core::cell::Cell;
|
||||
|
||||
/// Provides a view only reference to a [Cell].
|
||||
/// Useful alternative to `&Cell` when an API wants to control where a [Cell]s value can be set.
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct CellView<'a, T: Copy>(&'a Cell<T>);
|
||||
|
||||
impl<'a, T: Copy> CellView<'a, T> {
|
||||
#[inline]
|
||||
pub fn get(self) -> T {
|
||||
self.0.get()
|
||||
}
|
||||
}
|
14
src/lib.rs
14
src/lib.rs
@ -1,15 +1,3 @@
|
||||
#![no_std]
|
||||
|
||||
use core::cell::Cell;
|
||||
|
||||
/// Provides a view only reference to a [Cell].
|
||||
/// Useful alternative to `&Cell` when an API wants to control where a [Cell]s value can be set.
|
||||
#[derive(Copy, Clone)]
|
||||
pub struct CellView<'a, T: Copy>(&'a Cell<T>);
|
||||
|
||||
impl<'a, T: Copy> CellView<'a, T> {
|
||||
#[inline]
|
||||
pub fn get(self) -> T {
|
||||
self.0.get()
|
||||
}
|
||||
}
|
||||
mod cell;
|
||||
|
Reference in New Issue
Block a user