Struct tract_hir::internal::tract_ndarray::MathCell [−][src]
#[repr(transparent)]pub struct MathCell<T>(_);
Expand description
A transparent wrapper of Cell<T> which is identical in every way, except
it will implement arithmetic operators as well.
The purpose of MathCell is to be used from .cell_view().
The MathCell derefs to Cell, so all the cell’s methods are available.
Implementations
Methods from Deref<Target = Cell<T>>
pub fn swap(&self, other: &Cell<T>)1.17.0[src]
pub fn swap(&self, other: &Cell<T>)1.17.0[src]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());
pub fn get(&self) -> T1.0.0[src]
pub fn get(&self) -> T1.0.0[src]Returns a copy of the contained value.
Examples
use std::cell::Cell; let c = Cell::new(5); let five = c.get();
pub fn update<F>(&self, f: F) -> T where
F: FnOnce(T) -> T, [src]
🔬 This is a nightly-only experimental API. (cell_update)
pub fn update<F>(&self, f: F) -> T where
F: FnOnce(T) -> T, [src]cell_update)Updates the contained value using a function and returns the new value.
Examples
#![feature(cell_update)] use std::cell::Cell; let c = Cell::new(5); let new = c.update(|x| x + 1); assert_eq!(new, 6); assert_eq!(c.get(), 6);
pub fn as_slice_of_cells(&self) -> &[Cell<T>]ⓘ1.37.0[src]
pub fn as_slice_of_cells(&self) -> &[Cell<T>]ⓘ1.37.0[src]Returns a &[Cell<T>] from a &Cell<[T]>
Examples
use std::cell::Cell; let slice: &mut [i32] = &mut [1, 2, 3]; let cell_slice: &Cell<[i32]> = Cell::from_mut(slice); let slice_cell: &[Cell<i32>] = cell_slice.as_slice_of_cells(); assert_eq!(slice_cell.len(), 3);
Trait Implementations
impl<'a, T> AssignElem<T> for &'a MathCell<T>[src]
impl<'a, T> AssignElem<T> for &'a MathCell<T>[src]Assignable element, simply self.set(input).
pub fn assign_elem(self, input: T)[src]
pub fn assign_elem(self, input: T)[src]Assign the value input to the element that self represents.
impl<T> Ord for MathCell<T> where
T: Copy + Ord, [src]
impl<T> Ord for MathCell<T> where
T: Copy + Ord, [src]impl<T> PartialOrd<MathCell<T>> for MathCell<T> where
T: Copy + PartialOrd<T>, [src]
impl<T> PartialOrd<MathCell<T>> for MathCell<T> where
T: Copy + PartialOrd<T>, [src]pub fn partial_cmp(&self, rhs: &MathCell<T>) -> Option<Ordering>[src]
pub fn partial_cmp(&self, rhs: &MathCell<T>) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
pub fn lt(&self, rhs: &MathCell<T>) -> bool[src]
pub fn lt(&self, rhs: &MathCell<T>) -> bool[src]This method tests less than (for self and other) and is used by the < operator. Read more
pub fn le(&self, rhs: &MathCell<T>) -> bool[src]
pub fn le(&self, rhs: &MathCell<T>) -> bool[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl<T> Eq for MathCell<T> where
T: Copy + Eq, [src]
T: Copy + Eq,
Auto Trait Implementations
impl<T> !RefUnwindSafe for MathCell<T>
impl<T> Send for MathCell<T> where
T: Send,
T: Send,
impl<T> !Sync for MathCell<T>
impl<T> Unpin for MathCell<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for MathCell<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any, pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more