Struct cpclib_asm::preamble::tokens::ordered_float::NotNan
[−]#[repr(transparent)]pub struct NotNan<T>(_);Expand description
A wrapper around floats providing an implementation of Eq, Ord and Hash.
A NaN value cannot be stored in this type.
use ordered_float::NotNan;
let mut v = [
NotNan::new(2.0).unwrap(),
NotNan::new(1.0).unwrap(),
];
v.sort();
assert_eq!(v, [1.0, 2.0]);Because NotNan implements Ord and Eq, it can be used as a key in a HashSet,
HashMap, BTreeMap, or BTreeSet (unlike the primitive f32 or f64 types):
let mut s: HashSet<NotNan<f32>> = HashSet::new();
let key = NotNan::new(1.0).unwrap();
s.insert(key);
assert!(s.contains(&key));Arithmetic on NotNan values will panic if it produces a NaN value:
let a = NotNan::new(std::f32::INFINITY).unwrap();
let b = NotNan::new(std::f32::NEG_INFINITY).unwrap();
// This will panic:
let c = a + b;Implementations
impl<T> NotNan<T> where
T: Float,
impl<T> NotNan<T> where
T: Float,
pub fn new(val: T) -> Result<NotNan<T>, FloatIsNan>
pub fn new(val: T) -> Result<NotNan<T>, FloatIsNan>
Create a NotNan value.
Returns Err if val is NaN
impl<T> NotNan<T>
impl<T> NotNan<T>
pub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Get the value out.
pub const unsafe fn new_unchecked(val: T) -> NotNan<T>
pub const unsafe fn new_unchecked(val: T) -> NotNan<T>
Create a NotNan value from a value that is guaranteed to not be NaN
Safety
Behaviour is undefined if val is NaN
pub const unsafe fn unchecked_new(val: T) -> NotNan<T>
👎 Deprecated since 2.5.0: Please use the new_unchecked function instead.
pub const unsafe fn unchecked_new(val: T) -> NotNan<T>
Please use the new_unchecked function instead.
Create a NotNan value from a value that is guaranteed to not be NaN
Safety
Behaviour is undefined if val is NaN
Trait Implementations
impl<T> Add<T> for NotNan<T> where
T: Float,
impl<T> Add<T> for NotNan<T> where
T: Float,
Adds a float directly.
Panics if the provided value is NaN or the computation results in NaN
impl<'_, T> AddAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + AddAssign<T>,
impl<'_, T> AddAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + AddAssign<T>,
fn add_assign(&mut self, other: &NotNan<T>)
fn add_assign(&mut self, other: &NotNan<T>)
Performs the += operation. Read more
impl<'_, T> AddAssign<&'_ T> for NotNan<T> where
T: Float + AddAssign<T>,
impl<'_, T> AddAssign<&'_ T> for NotNan<T> where
T: Float + AddAssign<T>,
fn add_assign(&mut self, other: &T)
fn add_assign(&mut self, other: &T)
Performs the += operation. Read more
impl<T> AddAssign<NotNan<T>> for NotNan<T> where
T: Float + AddAssign<T>,
impl<T> AddAssign<NotNan<T>> for NotNan<T> where
T: Float + AddAssign<T>,
fn add_assign(&mut self, other: NotNan<T>)
fn add_assign(&mut self, other: NotNan<T>)
Performs the += operation. Read more
impl<T> AddAssign<T> for NotNan<T> where
T: Float + AddAssign<T>,
impl<T> AddAssign<T> for NotNan<T> where
T: Float + AddAssign<T>,
fn add_assign(&mut self, other: T)
fn add_assign(&mut self, other: T)
Performs the += operation. Read more
impl<T> Div<T> for NotNan<T> where
T: Float,
impl<T> Div<T> for NotNan<T> where
T: Float,
Divides a float directly.
Panics if the provided value is NaN or the computation results in NaN
impl<'_, T> DivAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + DivAssign<T>,
impl<'_, T> DivAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + DivAssign<T>,
fn div_assign(&mut self, other: &NotNan<T>)
fn div_assign(&mut self, other: &NotNan<T>)
Performs the /= operation. Read more
impl<'_, T> DivAssign<&'_ T> for NotNan<T> where
T: Float + DivAssign<T>,
impl<'_, T> DivAssign<&'_ T> for NotNan<T> where
T: Float + DivAssign<T>,
fn div_assign(&mut self, other: &T)
fn div_assign(&mut self, other: &T)
Performs the /= operation. Read more
impl<T> DivAssign<NotNan<T>> for NotNan<T> where
T: Float + DivAssign<T>,
impl<T> DivAssign<NotNan<T>> for NotNan<T> where
T: Float + DivAssign<T>,
fn div_assign(&mut self, other: NotNan<T>)
fn div_assign(&mut self, other: NotNan<T>)
Performs the /= operation. Read more
impl<T> DivAssign<T> for NotNan<T> where
T: Float + DivAssign<T>,
impl<T> DivAssign<T> for NotNan<T> where
T: Float + DivAssign<T>,
fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
Performs the /= operation. Read more
impl<T> FromPrimitive for NotNan<T> where
T: Float + FromPrimitive,
impl<T> FromPrimitive for NotNan<T> where
T: Float + FromPrimitive,
fn from_i64(n: i64) -> Option<NotNan<T>>
fn from_i64(n: i64) -> Option<NotNan<T>>
Converts an i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_u64(n: u64) -> Option<NotNan<T>>
fn from_u64(n: u64) -> Option<NotNan<T>>
Converts an u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_isize(n: isize) -> Option<NotNan<T>>
fn from_isize(n: isize) -> Option<NotNan<T>>
Converts an isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_i8(n: i8) -> Option<NotNan<T>>
fn from_i8(n: i8) -> Option<NotNan<T>>
Converts an i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_i16(n: i16) -> Option<NotNan<T>>
fn from_i16(n: i16) -> Option<NotNan<T>>
Converts an i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_i32(n: i32) -> Option<NotNan<T>>
fn from_i32(n: i32) -> Option<NotNan<T>>
Converts an i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_usize(n: usize) -> Option<NotNan<T>>
fn from_usize(n: usize) -> Option<NotNan<T>>
Converts a usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_u8(n: u8) -> Option<NotNan<T>>
fn from_u8(n: u8) -> Option<NotNan<T>>
Converts an u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_u16(n: u16) -> Option<NotNan<T>>
fn from_u16(n: u16) -> Option<NotNan<T>>
Converts an u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_u32(n: u32) -> Option<NotNan<T>>
fn from_u32(n: u32) -> Option<NotNan<T>>
Converts an u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_f32(n: f32) -> Option<NotNan<T>>
fn from_f32(n: f32) -> Option<NotNan<T>>
Converts a f32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
fn from_f64(n: f64) -> Option<NotNan<T>>
fn from_f64(n: f64) -> Option<NotNan<T>>
Converts a f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
impl<T> FromStr for NotNan<T> where
T: Float + FromStr,
impl<T> FromStr for NotNan<T> where
T: Float + FromStr,
fn from_str(src: &str) -> Result<NotNan<T>, <NotNan<T> as FromStr>::Err>
fn from_str(src: &str) -> Result<NotNan<T>, <NotNan<T> as FromStr>::Err>
Convert a &str to NotNan. Returns an error if the string fails to parse,
or if the resulting value is NaN
use ordered_float::NotNan;
assert!("-10".parse::<NotNan<f32>>().is_ok());
assert!("abc".parse::<NotNan<f32>>().is_err());
assert!("NaN".parse::<NotNan<f32>>().is_err());type Err = ParseNotNanError<<T as FromStr>::Err>
type Err = ParseNotNanError<<T as FromStr>::Err>
The associated error which can be returned from parsing.
impl<T> Mul<T> for NotNan<T> where
T: Float,
impl<T> Mul<T> for NotNan<T> where
T: Float,
Multiplies a float directly.
Panics if the provided value is NaN or the computation results in NaN
impl<'_, T> MulAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + MulAssign<T>,
impl<'_, T> MulAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + MulAssign<T>,
fn mul_assign(&mut self, other: &NotNan<T>)
fn mul_assign(&mut self, other: &NotNan<T>)
Performs the *= operation. Read more
impl<'_, T> MulAssign<&'_ T> for NotNan<T> where
T: Float + MulAssign<T>,
impl<'_, T> MulAssign<&'_ T> for NotNan<T> where
T: Float + MulAssign<T>,
fn mul_assign(&mut self, other: &T)
fn mul_assign(&mut self, other: &T)
Performs the *= operation. Read more
impl<T> MulAssign<NotNan<T>> for NotNan<T> where
T: Float + MulAssign<T>,
impl<T> MulAssign<NotNan<T>> for NotNan<T> where
T: Float + MulAssign<T>,
fn mul_assign(&mut self, other: NotNan<T>)
fn mul_assign(&mut self, other: NotNan<T>)
Performs the *= operation. Read more
impl<T> MulAssign<T> for NotNan<T> where
T: Float + MulAssign<T>,
impl<T> MulAssign<T> for NotNan<T> where
T: Float + MulAssign<T>,
fn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
Performs the *= operation. Read more
impl<T> Num for NotNan<T> where
T: Float,
impl<T> Num for NotNan<T> where
T: Float,
type FromStrRadixErr = ParseNotNanError<<T as Num>::FromStrRadixErr>
fn from_str_radix(
src: &str,
radix: u32
) -> Result<NotNan<T>, <NotNan<T> as Num>::FromStrRadixErr>
fn from_str_radix(
src: &str,
radix: u32
) -> Result<NotNan<T>, <NotNan<T> as Num>::FromStrRadixErr>
Convert from a string and radix (typically 2..=36). Read more
impl<T> NumCast for NotNan<T> where
T: Float,
impl<T> NumCast for NotNan<T> where
T: Float,
fn from<F>(n: F) -> Option<NotNan<T>> where
F: ToPrimitive,
fn from<F>(n: F) -> Option<NotNan<T>> where
F: ToPrimitive,
Creates a number from another value that can be converted into
a primitive via the ToPrimitive trait. If the source value cannot be
represented by the target type, then None is returned. Read more
impl<T> Ord for NotNan<T> where
T: Float,
impl<T> Ord for NotNan<T> where
T: Float,
impl<T> PartialOrd<NotNan<T>> for NotNan<T> where
T: PartialOrd<T>,
impl<T> PartialOrd<NotNan<T>> for NotNan<T> where
T: PartialOrd<T>,
fn partial_cmp(&self, other: &NotNan<T>) -> Option<Ordering>
fn partial_cmp(&self, other: &NotNan<T>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl<T> Rem<T> for NotNan<T> where
T: Float,
impl<T> Rem<T> for NotNan<T> where
T: Float,
Calculates % with a float directly.
Panics if the provided value is NaN or the computation results in NaN
impl<'_, T> RemAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + RemAssign<T>,
impl<'_, T> RemAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + RemAssign<T>,
fn rem_assign(&mut self, other: &NotNan<T>)
fn rem_assign(&mut self, other: &NotNan<T>)
Performs the %= operation. Read more
impl<'_, T> RemAssign<&'_ T> for NotNan<T> where
T: Float + RemAssign<T>,
impl<'_, T> RemAssign<&'_ T> for NotNan<T> where
T: Float + RemAssign<T>,
fn rem_assign(&mut self, other: &T)
fn rem_assign(&mut self, other: &T)
Performs the %= operation. Read more
impl<T> RemAssign<NotNan<T>> for NotNan<T> where
T: Float + RemAssign<T>,
impl<T> RemAssign<NotNan<T>> for NotNan<T> where
T: Float + RemAssign<T>,
fn rem_assign(&mut self, other: NotNan<T>)
fn rem_assign(&mut self, other: NotNan<T>)
Performs the %= operation. Read more
impl<T> RemAssign<T> for NotNan<T> where
T: Float + RemAssign<T>,
impl<T> RemAssign<T> for NotNan<T> where
T: Float + RemAssign<T>,
fn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
Performs the %= operation. Read more
impl<T> Signed for NotNan<T> where
T: Float + Signed,
impl<T> Signed for NotNan<T> where
T: Float + Signed,
fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true if the number is positive and false if the number is zero or negative.
fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true if the number is negative and false if the number is zero or positive.
impl<T> Sub<T> for NotNan<T> where
T: Float,
impl<T> Sub<T> for NotNan<T> where
T: Float,
Subtracts a float directly.
Panics if the provided value is NaN or the computation results in NaN
impl<'_, T> SubAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + SubAssign<T>,
impl<'_, T> SubAssign<&'_ NotNan<T>> for NotNan<T> where
T: Float + SubAssign<T>,
fn sub_assign(&mut self, other: &NotNan<T>)
fn sub_assign(&mut self, other: &NotNan<T>)
Performs the -= operation. Read more
impl<'_, T> SubAssign<&'_ T> for NotNan<T> where
T: Float + SubAssign<T>,
impl<'_, T> SubAssign<&'_ T> for NotNan<T> where
T: Float + SubAssign<T>,
fn sub_assign(&mut self, other: &T)
fn sub_assign(&mut self, other: &T)
Performs the -= operation. Read more
impl<T> SubAssign<NotNan<T>> for NotNan<T> where
T: Float + SubAssign<T>,
impl<T> SubAssign<NotNan<T>> for NotNan<T> where
T: Float + SubAssign<T>,
fn sub_assign(&mut self, other: NotNan<T>)
fn sub_assign(&mut self, other: NotNan<T>)
Performs the -= operation. Read more
impl<T> SubAssign<T> for NotNan<T> where
T: Float + SubAssign<T>,
impl<T> SubAssign<T> for NotNan<T> where
T: Float + SubAssign<T>,
fn sub_assign(&mut self, other: T)
fn sub_assign(&mut self, other: T)
Performs the -= operation. Read more
impl<T> Sum<NotNan<T>> for NotNan<T> where
T: Float + Sum<T>,
impl<T> Sum<NotNan<T>> for NotNan<T> where
T: Float + Sum<T>,
Adds a float directly.
Panics if the provided value is NaN.
impl<T> ToPrimitive for NotNan<T> where
T: Float,
impl<T> ToPrimitive for NotNan<T> where
T: Float,
fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of self to an i64. If the value cannot be
represented by an i64, then None is returned. Read more
fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of self to a u64. If the value cannot be
represented by a u64, then None is returned. Read more
fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of self to an isize. If the value cannot be
represented by an isize, then None is returned. Read more
fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of self to an i8. If the value cannot be
represented by an i8, then None is returned. Read more
fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of self to an i16. If the value cannot be
represented by an i16, then None is returned. Read more
fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of self to an i32. If the value cannot be
represented by an i32, then None is returned. Read more
fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of self to a usize. If the value cannot be
represented by a usize, then None is returned. Read more
fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of self to a u8. If the value cannot be
represented by a u8, then None is returned. Read more
fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
Converts the value of self to a u16. If the value cannot be
represented by a u16, then None is returned. Read more
fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
Converts the value of self to a u32. If the value cannot be
represented by a u32, then None is returned. Read more
fn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
Converts the value of self to an f32. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f32. Read more
fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
Converts the value of self to an f64. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f64. Read more
impl<T> Copy for NotNan<T> where
T: Copy,
impl<T> Eq for NotNan<T> where
T: Float + PartialEq<T>,
impl<T> StructuralPartialEq for NotNan<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for NotNan<T> where
T: RefUnwindSafe,
impl<T> Send for NotNan<T> where
T: Send,
impl<T> Sync for NotNan<T> where
T: Sync,
impl<T> Unpin for NotNan<T> where
T: Unpin,
impl<T> UnwindSafe for NotNan<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Causes self to use its Binary implementation when Debug-formatted. Read more
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self to use its Display implementation when
Debug-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self to use its LowerExp implementation when
Debug-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self to use its LowerHex implementation when
Debug-formatted. Read more
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Causes self to use its Octal implementation when Debug-formatted. Read more
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Causes self to use its Pointer implementation when
Debug-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self to use its UpperExp implementation when
Debug-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self to use its UpperHex implementation when
Debug-formatted. Read more
fn fmt_list(self) -> FmtList<Self> where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self> where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
Borrows self and passes that borrow into the pipe function. Read more
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
Mutably borrows self and passes that borrow into the pipe function. Read more
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.borrow() into the pipe function. Read more
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
Mutably borrows self, then passes self.borrow_mut() into the pipe
function. Read more
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.as_ref() into the pipe function.
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
Mutably borrows self, then passes self.as_mut() into the pipe
function. Read more
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.deref() into the pipe function.
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
sourcefn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
sourcefn read_from_big_endian(read: &mut R) -> Result<Self, Error>
fn read_from_big_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
sourcefn read_from_native_endian(read: &mut R) -> Result<Self, Error>
fn read_from_native_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Immutable access to the Borrow<B> of a value. Read more
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the BorrowMut<B> of a value. Read more
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Immutable access to the AsRef<R> view of a value. Read more
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Mutable access to the AsMut<R> view of a value. Read more
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the Deref::Target of a value. Read more
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the Deref::Target of a value. Read more
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls .tap() only in debug builds, and is erased in release builds.
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls .tap_mut() only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Calls .tap_borrow() only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Calls .tap_borrow_mut() only in debug builds, and is erased in release
builds. Read more
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Calls .tap_ref() only in debug builds, and is erased in release
builds. Read more
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Calls .tap_ref_mut() only in debug builds, and is erased in release
builds. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more