Struct core::cell::Cell1.0.0 [] [src]

pub struct Cell<T> {
    // some fields omitted
}

A mutable memory location that admits only Copy data.

See the module-level documentation for more.

Methods

impl<T: Copy> Cell<T>
[src]

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);

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

Unstable (as_unsafe_cell #27708)

Returns a reference to the underlying UnsafeCell.

Examples

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

use std::cell::Cell;

let c = Cell::new(5);

let uc = c.as_unsafe_cell();

fn get_mut(&mut self) -> &mut T

Unstable (cell_get_mut #33444)

Returns a mutable reference to the underlying data.

This call borrows Cell mutably (at compile-time) which guarantees that we possess the only reference.

Trait Implementations

impl<T> Send for Cell<T> where T: Send
[src]

impl<T> !Sync for Cell<T>
[src]

impl<T: Copy> Clone for Cell<T>
[src]

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

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

impl<T: Default + Copy> Default for Cell<T>
[src]

fn default() -> Cell<T>

Returns the "default value" for a type. Read more

impl<T: PartialEq + Copy> PartialEq for Cell<T>
[src]

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

This method tests for self and other values to be equal, and is used by ==. Read more

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

This method tests for !=.

impl<T: Eq + Copy> Eq for Cell<T>
1.2.0
[src]

impl<T: PartialOrd + Copy> PartialOrd for Cell<T>
1.10.0
[src]

fn partial_cmp(&self, other: &Cell<T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

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

This method tests less than (for self and other) and is used by the < operator. Read more

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

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

This method tests greater than (for self and other) and is used by the > operator. Read more

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T: Ord + Copy> Ord for Cell<T>
1.10.0
[src]

fn cmp(&self, other: &Cell<T>) -> Ordering

This method returns an Ordering between self and other. Read more

impl<T: Copy + Debug> Debug for Cell<T>
[src]

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

Formats the value using the given formatter.