Struct core::cell::Cell [] [src]

pub struct Cell<T> {
    value: UnsafeCell<T>,
}

A mutable memory location that admits only Copy data.

See the module-level documentation for more.

Fields

value

Methods

impl<T: Copy> Cell<T>

const fn new(value: T) -> Cell<T>

Creates a new Cell containing the given value.

Examples

fn main() { use std::cell::Cell; let c = Cell::new(5); }
use std::cell::Cell;

let c = Cell::new(5);

fn get(&self) -> T

Returns a copy of the contained value.

Examples

fn main() { use std::cell::Cell; let c = Cell::new(5); let five = c.get(); }
use std::cell::Cell;

let c = Cell::new(5);

let five = c.get();

fn set(&self, value: T)

Sets the contained value.

Examples

fn main() { use std::cell::Cell; let c = Cell::new(5); c.set(10); }
use std::cell::Cell;

let c = Cell::new(5);

c.set(10);

unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T>

Unstable (as_unsafe_cell #27708)

Returns a reference to the underlying UnsafeCell.

Safety

This function is unsafe because UnsafeCell's field is public.

Examples

#![feature(as_unsafe_cell)] fn main() { use std::cell::Cell; let c = Cell::new(5); let uc = unsafe { c.as_unsafe_cell() }; }
#![feature(as_unsafe_cell)]

use std::cell::Cell;

let c = Cell::new(5);

let uc = unsafe { c.as_unsafe_cell() };

Trait Implementations

impl<T> Send for Cell<T> where T: Send

impl<T: Copy> Clone for Cell<T>

fn clone(&self) -> Cell<T>

fn clone_from(&mut self, source: &Self)

impl<T: Default + Copy> Default for Cell<T>

fn default() -> Cell<T>

impl<T: PartialEq + Copy> PartialEq for Cell<T>

fn eq(&self, other: &Cell<T>) -> bool

fn ne(&self, other: &Rhs) -> bool

impl<T: Eq + Copy> Eq for Cell<T>

fn assert_receiver_is_total_eq(&self)

impl<T: Copy + Debug> Debug for Cell<T>

fn fmt(&self, f: &mut Formatter) -> Result