Struct core::nonzero::NonZero
[−]
[src]
#[lang = "non_zero"]pub struct NonZero<T: Zeroable>(_);
🔬 This is a nightly-only experimental API. (nonzero
#27730)
needs an RFC to flesh out the design
A wrapper type for raw pointers and integers that will never be NULL or 0 that might allow certain optimizations.
Methods
impl<T: Zeroable> NonZero<T>
[src]
pub const unsafe fn new_unchecked(inner: T) -> Self
[src]
🔬 This is a nightly-only experimental API. (nonzero
#27730)
needs an RFC to flesh out the design
Creates an instance of NonZero with the provided value. You must indeed ensure that the value is actually "non-zero".
pub fn new(inner: T) -> Option<Self>
[src]
🔬 This is a nightly-only experimental API. (nonzero
#27730)
needs an RFC to flesh out the design
Creates an instance of NonZero with the provided value.
pub fn get(self) -> T
[src]
🔬 This is a nightly-only experimental API. (nonzero
#27730)
needs an RFC to flesh out the design
Gets the inner value.
Trait Implementations
impl<T: Copy + Zeroable> Copy for NonZero<T>
[src]
impl<T: Clone + Zeroable> Clone for NonZero<T>
[src]
fn clone(&self) -> NonZero<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Eq + Zeroable> Eq for NonZero<T>
[src]
impl<T: PartialEq + Zeroable> PartialEq for NonZero<T>
[src]
fn eq(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests for !=
.
impl<T: Ord + Zeroable> Ord for NonZero<T>
[src]
fn cmp(&self, __arg_0: &NonZero<T>) -> Ordering
[src]
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self where
Self: Sized,
1.21.0[src]
Self: Sized,
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self where
Self: Sized,
1.21.0[src]
Self: Sized,
Compares and returns the minimum of two values. Read more
impl<T: PartialOrd + Zeroable> PartialOrd for NonZero<T>
[src]
fn partial_cmp(&self, __arg_0: &NonZero<T>) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &NonZero<T>) -> bool
[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<T: Debug + Zeroable> Debug for NonZero<T>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: Hash + Zeroable> Hash for NonZero<T>
[src]
fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where
Self: Sized,
1.3.0[src]
Self: Sized,
Feeds a slice of this type into the given [Hasher
]. Read more