Trait nonzero_ext::NonZeroAble [−][src]
pub trait NonZeroAble { type NonZero: NonZero; fn as_nonzero(self) -> Option<Self::NonZero>; }
A trait identifying integral types that have a non-zeroable equivalent.
Associated Types
type NonZero: NonZero
The concrete non-zero type represented by an implementation of
this trait. For example, for u8
's implementation, it is
NonZeroU8
.
Required Methods
fn as_nonzero(self) -> Option<Self::NonZero>
Converts the integer to its non-zero equivalent.
Examples
Trying to convert zero
let n: u16 = 0; assert_eq!(n.as_nonzero(), None);
Converting a non-zero value
let n: usize = 20; let non0n: NonZeroUsize = n.as_nonzero().expect("should result in a converted value"); assert_eq!(non0n.get(), 20);
Implementations on Foreign Types
impl NonZeroAble for u8
[src]
impl NonZeroAble for u8
impl NonZeroAble for u16
[src]
impl NonZeroAble for u16
type NonZero = NonZeroU16
fn as_nonzero(self) -> Option<NonZeroU16>
[src]
fn as_nonzero(self) -> Option<NonZeroU16>
impl NonZeroAble for u32
[src]
impl NonZeroAble for u32
type NonZero = NonZeroU32
fn as_nonzero(self) -> Option<NonZeroU32>
[src]
fn as_nonzero(self) -> Option<NonZeroU32>
impl NonZeroAble for u64
[src]
impl NonZeroAble for u64
type NonZero = NonZeroU64
fn as_nonzero(self) -> Option<NonZeroU64>
[src]
fn as_nonzero(self) -> Option<NonZeroU64>
impl NonZeroAble for u128
[src]
impl NonZeroAble for u128
type NonZero = NonZeroU128
fn as_nonzero(self) -> Option<NonZeroU128>
[src]
fn as_nonzero(self) -> Option<NonZeroU128>
impl NonZeroAble for usize
[src]
impl NonZeroAble for usize
type NonZero = NonZeroUsize
fn as_nonzero(self) -> Option<NonZeroUsize>
[src]
fn as_nonzero(self) -> Option<NonZeroUsize>