W3cubDocs

/Rust

Struct std::cell::Cell

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

A mutable memory location that admits only Copy data.

See the module-level documentation for more.

Methods

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

Creates a new Cell containing the given value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

Returns a copy of the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

let five = c.get();

Sets the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

c.set(10);

Deprecated since 1.12.0: renamed to as_ptr 🔬 This is a nightly-only experimental API. (as_unsafe_cell #27708)

Returns a reference to the underlying UnsafeCell.

Examples

#![feature(as_unsafe_cell)]

use std::cell::Cell;

let c = Cell::new(5);

let uc = c.as_unsafe_cell();

Returns a raw pointer to the underlying data in this cell.

Examples

use std::cell::Cell;

let c = Cell::new(5);

let ptr = c.as_ptr();

Returns a mutable reference to the underlying data.

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

Examples

use std::cell::Cell;

let mut c = Cell::new(5);
*c.get_mut() += 1;

assert_eq!(c.get(), 6);

Trait Implementations

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

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

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

This method tests for !=.

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

Creates a Cell<T>, with the Default value for T.

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

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

impl<T, U> CoerceUnsized<Cell<U>> for Cell<T> where T: CoerceUnsized<U> [src]

impl<T> From<T> for Cell<T> where T: Copy
1.12.0
[src]

Performs the conversion.

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

Formats the value using the given formatter.

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

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

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

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

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

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

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

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

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/cell/struct.Cell.html