Struct core::nonzero::NonZero [] [src]

pub struct NonZero<T: Zeroable>(_);
Unstable (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]

unsafe fn new(inner: T) -> NonZero<T>

Unstable (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".

Trait Implementations

impl<T: Zeroable> Deref for NonZero<T>
[src]

type Target = T

The resulting type after dereferencing

fn deref(&self) -> &T

The method called to dereference a value

impl<T: Zeroable + CoerceUnsized<U>, U: Zeroable> CoerceUnsized<NonZero<U>> for NonZero<T>
[src]

Derived Implementations

impl<T: Hash + Zeroable> Hash for NonZero<T>
[src]

fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where Self: Sized
1.3.0

Feeds a slice of this type into the state provided.

impl<T: Debug + Zeroable> Debug for NonZero<T>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<T: PartialOrd + Zeroable> PartialOrd for NonZero<T>
[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

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

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

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T: Ord + Zeroable> Ord for NonZero<T>
[src]

fn cmp(&self, __arg_0: &NonZero<T>) -> Ordering

This method returns an Ordering between self and other. Read more

impl<T: PartialEq + Zeroable> PartialEq for NonZero<T>
[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

This method tests for !=.

impl<T: Eq + Zeroable> Eq for NonZero<T>
[src]

impl<T: Clone + Zeroable> Clone for 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

Performs copy-assignment from source. Read more

impl<T: Copy + Zeroable> Copy for NonZero<T>
[src]