std::cell::Cell

Struct std::cell::Cell

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

A mutable memory location.

See the module-level documentation for more-

Methods

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

Returns a copy of the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

let five = c.get();

impl<T> Cell<T> [src]

Creates a new Cell containing the given value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

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

Sets the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);

c.set(10);

Swaps the values of two Cells. Difference with std::mem::swap is that this function doesn't require &mut reference.

Examples

use std::cell::Cell;

let c1 = Cell::new(5i32);
let c2 = Cell::new(10i32);
c1.swap(&c2);
assert_eq!(10, c1.get());
assert_eq!(5, c2.get());

Replaces the contained value.

Examples

use std::cell::Cell;

let c = Cell::new(5);
let old = c.replace(10);

assert_eq!(5, old);

Unwraps the value.

Examples

use std::cell::Cell;

let c = Cell::new(5);
let five = c.into_inner();

assert_eq!(five, 5);

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

Takes the value of the cell, leaving Default::default() in its place.

Examples

use std::cell::Cell;

let c = Cell::new(5);
let five = c.take();

assert_eq!(five, 5);
assert_eq!(c.into_inner(), 0);

Trait Implementations

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

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

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

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

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

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

Formats the value using the given formatter.

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

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

impl<T> From<T> for Cell<T>
1.12.0
[src]

Performs the conversion.

© 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

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部