Struct core::nonzero::NonZero
[−]
[src]
#[lang = "non_zero"]pub struct NonZero<T: Zeroable>(_);
: use std::ptr::NonNull
or std::num::NonZero*
instead
🔬 This is a nightly-only experimental API. (nonzero
#49137)
deprecated
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]
impl<T: Zeroable> NonZero<T>
pub const unsafe fn new_unchecked(inner: T) -> Self
[src]
pub const unsafe fn new_unchecked(inner: T) -> Self
: use std::ptr::NonNull
or std::num::NonZero*
instead
🔬 This is a nightly-only experimental API. (nonzero
#49137)
deprecated
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]
pub fn new(inner: T) -> Option<Self>
: use std::ptr::NonNull
or std::num::NonZero*
instead
🔬 This is a nightly-only experimental API. (nonzero
#49137)
deprecated
Creates an instance of NonZero with the provided value.
pub fn get(self) -> T
[src]
pub fn get(self) -> T
: use std::ptr::NonNull
or std::num::NonZero*
instead
🔬 This is a nightly-only experimental API. (nonzero
#49137)
deprecated
Gets the inner value.
Trait Implementations
impl<T: Copy + Zeroable> Copy for NonZero<T>
[src]
impl<T: Copy + Zeroable> Copy for NonZero<T>
impl<T: Clone + Zeroable> Clone for NonZero<T>
[src]
impl<T: Clone + Zeroable> Clone for NonZero<T>
fn clone(&self) -> NonZero<T>
[src]
fn clone(&self) -> NonZero<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: Eq + Zeroable> Eq for NonZero<T>
[src]
impl<T: Eq + Zeroable> Eq for NonZero<T>
impl<T: PartialEq + Zeroable> PartialEq for NonZero<T>
[src]
impl<T: PartialEq + Zeroable> PartialEq for NonZero<T>
fn eq(&self, __arg_0: &NonZero<T>) -> bool
[src]
fn eq(&self, __arg_0: &NonZero<T>) -> bool
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]
fn ne(&self, __arg_0: &NonZero<T>) -> bool
This method tests for !=
.
impl<T: Ord + Zeroable> Ord for NonZero<T>
[src]
impl<T: Ord + Zeroable> Ord for NonZero<T>
fn cmp(&self, __arg_0: &NonZero<T>) -> Ordering
[src]
fn cmp(&self, __arg_0: &NonZero<T>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self where
Self: Sized,
1.21.0[src]
fn max(self, other: Self) -> Self where
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]
fn min(self, other: Self) -> Self where
Self: Sized,
Compares and returns the minimum of two values. Read more
impl<T: PartialOrd + Zeroable> PartialOrd for NonZero<T>
[src]
impl<T: PartialOrd + Zeroable> PartialOrd for NonZero<T>
fn partial_cmp(&self, __arg_0: &NonZero<T>) -> Option<Ordering>
[src]
fn partial_cmp(&self, __arg_0: &NonZero<T>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &NonZero<T>) -> bool
[src]
fn lt(&self, __arg_0: &NonZero<T>) -> bool
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]
fn le(&self, __arg_0: &NonZero<T>) -> bool
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]
fn gt(&self, __arg_0: &NonZero<T>) -> bool
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]
fn ge(&self, __arg_0: &NonZero<T>) -> bool
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]
impl<T: Debug + Zeroable> Debug for NonZero<T>
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: Hash + Zeroable> Hash for NonZero<T>
[src]
impl<T: Hash + Zeroable> Hash for NonZero<T>
fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)
[src]
fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)
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]
fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where
Self: Sized,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<T: Zeroable + CoerceUnsized<U>, U: Zeroable> CoerceUnsized<NonZero<U>> for NonZero<T>
[src]
impl<T: Zeroable + CoerceUnsized<U>, U: Zeroable> CoerceUnsized<NonZero<U>> for NonZero<T>
impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*mut T>
[src]
impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*mut T>
impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*const T>
[src]
impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*const T>
impl<'a, T: ?Sized> From<&'a T> for NonZero<*const T>
[src]
impl<'a, T: ?Sized> From<&'a T> for NonZero<*const T>