Struct std::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> Cell<T> where T: Copy

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

Creates a new Cell containing the given value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

fn get(&self) -> T

Returns a copy of the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

let five = c.get();

fn set(&self, value: T)

Sets the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

c.set(10);

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

Unstable (as_unsafe_cell)

Returns a reference to the underlying UnsafeCell.

Safety

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

Examples

#![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> Clone for Cell<T> where T: Copy

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

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

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

fn default() -> Cell<T>

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

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

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

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

fn assert_receiver_is_total_eq(&self)

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

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