Struct cheque::Checker [−][src]
pub struct Checker<T>(_);
This implements Deref<Option<T>>
.
Methods from Deref<Target = Option<T>>
pub fn is_some(&self) -> bool
1.0.0[src]
pub fn is_some(&self) -> bool
Returns true
if the option is a Some
value.
Examples
let x: Option<u32> = Some(2); assert_eq!(x.is_some(), true); let x: Option<u32> = None; assert_eq!(x.is_some(), false);
pub fn is_none(&self) -> bool
1.0.0[src]
pub fn is_none(&self) -> bool
Returns true
if the option is a None
value.
Examples
let x: Option<u32> = Some(2); assert_eq!(x.is_none(), false); let x: Option<u32> = None; assert_eq!(x.is_none(), true);
pub fn as_ref(&self) -> Option<&T>
1.0.0[src]
pub fn as_ref(&self) -> Option<&T>
Converts from Option<T>
to Option<&T>
.
Examples
Convert an Option<
String
>
into an Option<
usize
>
, preserving the original.
The map
method takes the self
argument by value, consuming the original,
so this technique uses as_ref
to first take an Option
to a reference
to the value inside the original.
let text: Option<String> = Some("Hello, world!".to_string()); // First, cast `Option<String>` to `Option<&String>` with `as_ref`, // then consume *that* with `map`, leaving `text` on the stack. let text_length: Option<usize> = text.as_ref().map(|s| s.len()); println!("still can print text: {:?}", text);
pub fn as_mut(&mut self) -> Option<&mut T>
1.0.0[src]
pub fn as_mut(&mut self) -> Option<&mut T>
Converts from Option<T>
to Option<&mut T>
.
Examples
let mut x = Some(2); match x.as_mut() { Some(v) => *v = 42, None => {}, } assert_eq!(x, Some(42));
pub fn as_pin_mut(self: PinMut<'a, Option<T>>) -> Option<PinMut<'a, T>>
[src]
pub fn as_pin_mut(self: PinMut<'a, Option<T>>) -> Option<PinMut<'a, T>>
pin
)Converts from Option<T>
to Option<PinMut<'_, T>>
ⓘImportant traits for Iter<'a, A>pub fn iter(&self) -> Iter<T>
1.0.0[src]
pub fn iter(&self) -> Iter<T>
Returns an iterator over the possibly contained value.
Examples
let x = Some(4); assert_eq!(x.iter().next(), Some(&4)); let x: Option<u32> = None; assert_eq!(x.iter().next(), None);
ⓘImportant traits for IterMut<'a, A>pub fn iter_mut(&mut self) -> IterMut<T>
1.0.0[src]
pub fn iter_mut(&mut self) -> IterMut<T>
Returns a mutable iterator over the possibly contained value.
Examples
let mut x = Some(4); match x.iter_mut().next() { Some(v) => *v = 42, None => {}, } assert_eq!(x, Some(42)); let mut x: Option<u32> = None; assert_eq!(x.iter_mut().next(), None);
ⓘImportant traits for &'a mut Rpub fn get_or_insert(&mut self, v: T) -> &mut T
1.20.0[src]
pub fn get_or_insert(&mut self, v: T) -> &mut T
Inserts v
into the option if it is None
, then
returns a mutable reference to the contained value.
Examples
let mut x = None; { let y: &mut u32 = x.get_or_insert(5); assert_eq!(y, &5); *y = 7; } assert_eq!(x, Some(7));
ⓘImportant traits for &'a mut Rpub fn get_or_insert_with<F>(&mut self, f: F) -> &mut T where
F: FnOnce() -> T,
1.20.0[src]
pub fn get_or_insert_with<F>(&mut self, f: F) -> &mut T where
F: FnOnce() -> T,
Inserts a value computed from f
into the option if it is None
, then
returns a mutable reference to the contained value.
Examples
let mut x = None; { let y: &mut u32 = x.get_or_insert_with(|| 5); assert_eq!(y, &5); *y = 7; } assert_eq!(x, Some(7));
pub fn take(&mut self) -> Option<T>
1.0.0[src]
pub fn take(&mut self) -> Option<T>
Trait Implementations
impl<T: Debug> Debug for Checker<T>
[src]
impl<T: Debug> Debug for Checker<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: Copy> Copy for Checker<T>
[src]
impl<T: Copy> Copy for Checker<T>
impl<T: Clone> Clone for Checker<T>
[src]
impl<T: Clone> Clone for Checker<T>
fn clone(&self) -> Checker<T>
[src]
fn clone(&self) -> Checker<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T: PartialEq> PartialEq for Checker<T>
[src]
impl<T: PartialEq> PartialEq for Checker<T>
fn eq(&self, other: &Checker<T>) -> bool
[src]
fn eq(&self, other: &Checker<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Checker<T>) -> bool
[src]
fn ne(&self, other: &Checker<T>) -> bool
This method tests for !=
.
impl<T: Eq> Eq for Checker<T>
[src]
impl<T: Eq> Eq for Checker<T>
impl<T> Deref for Checker<T>
[src]
impl<T> Deref for Checker<T>
type Target = Option<T>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
fn deref(&self) -> &Self::Target
Dereferences the value.
impl<T> DerefMut for Checker<T>
[src]
impl<T> DerefMut for Checker<T>
impl<T> PartialEq<T> for Checker<T> where
T: PartialEq<T> + Copy,
[src]
impl<T> PartialEq<T> for Checker<T> where
T: PartialEq<T> + Copy,
fn eq(&self, other: &T) -> bool
[src]
fn eq(&self, other: &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
1.0.0[src]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl<T> PartialEq<Option<T>> for Checker<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<Option<T>> for Checker<T> where
T: PartialEq<T>,
fn eq(&self, other: &Option<T>) -> bool
[src]
fn eq(&self, other: &Option<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
1.0.0[src]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl<T> Add<Self> for Checker<T> where
T: CheckedAdd,
[src]
impl<T> Add<Self> for Checker<T> where
T: CheckedAdd,
type Output = Self
The resulting type after applying the +
operator.
fn add(self, rhs: Checker<T>) -> Self
[src]
fn add(self, rhs: Checker<T>) -> Self
Performs the +
operation.
impl<T> Add<T> for Checker<T> where
T: CheckedAdd,
[src]
impl<T> Add<T> for Checker<T> where
T: CheckedAdd,
type Output = Self
The resulting type after applying the +
operator.
fn add(self, rhs: T) -> Self
[src]
fn add(self, rhs: T) -> Self
Performs the +
operation.
impl<T> Sub<Self> for Checker<T> where
T: CheckedSub,
[src]
impl<T> Sub<Self> for Checker<T> where
T: CheckedSub,
type Output = Self
The resulting type after applying the -
operator.
fn sub(self, rhs: Checker<T>) -> Self
[src]
fn sub(self, rhs: Checker<T>) -> Self
Performs the -
operation.
impl<T> Sub<T> for Checker<T> where
T: CheckedSub,
[src]
impl<T> Sub<T> for Checker<T> where
T: CheckedSub,
type Output = Self
The resulting type after applying the -
operator.
fn sub(self, rhs: T) -> Self
[src]
fn sub(self, rhs: T) -> Self
Performs the -
operation.
impl<T> Mul<Self> for Checker<T> where
T: CheckedMul,
[src]
impl<T> Mul<Self> for Checker<T> where
T: CheckedMul,
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: Checker<T>) -> Self
[src]
fn mul(self, rhs: Checker<T>) -> Self
Performs the *
operation.
impl<T> Mul<T> for Checker<T> where
T: CheckedMul,
[src]
impl<T> Mul<T> for Checker<T> where
T: CheckedMul,
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: T) -> Self
[src]
fn mul(self, rhs: T) -> Self
Performs the *
operation.
impl<T> Div<Self> for Checker<T> where
T: CheckedDiv,
[src]
impl<T> Div<Self> for Checker<T> where
T: CheckedDiv,
type Output = Self
The resulting type after applying the /
operator.
fn div(self, rhs: Checker<T>) -> Self
[src]
fn div(self, rhs: Checker<T>) -> Self
Performs the /
operation.
impl<T> Div<T> for Checker<T> where
T: CheckedDiv,
[src]
impl<T> Div<T> for Checker<T> where
T: CheckedDiv,