Struct std::num::NonZeroI16 1.34.0[−][src]
#[repr(transparent)]pub struct NonZeroI16(_);
Expand description
已知不等于零的整数。
这样可以进行一些内存布局优化。
For example, Option<NonZeroI16>
is the same size as i16
:
use std::mem::size_of; assert_eq!(size_of::<Option<core::num::NonZeroI16>>(), size_of::<i16>());Run
Implementations
如果给定值不为零,则创建一个非零值。
计算 self 的绝对值,带有溢出信息,请参见
Example
#![feature(nonzero_ops)] let pos = NonZeroI16::new(1)?; let neg = NonZeroI16::new(-1)?; let min = NonZeroI16::new(i16::MIN)?; assert_eq!((pos, false), pos.overflowing_abs()); assert_eq!((pos, false), neg.overflowing_abs()); assert_eq!((min, true), min.overflowing_abs());Run
饱和绝对值,请参见
i16::saturating_abs
.
Example
#![feature(nonzero_ops)] let pos = NonZeroI16::new(1)?; let neg = NonZeroI16::new(-1)?; let min = NonZeroI16::new(i16::MIN)?; let min_plus = NonZeroI16::new(i16::MIN + 1)?; let max = NonZeroI16::new(i16::MAX)?; assert_eq!(pos, pos.saturating_abs()); assert_eq!(pos, neg.saturating_abs()); assert_eq!(max, min.saturating_abs()); assert_eq!(max, min_plus.saturating_abs());Run
包装绝对值,请参见
i16::wrapping_abs
.
Example
#![feature(nonzero_ops)] let pos = NonZeroI16::new(1)?; let neg = NonZeroI16::new(-1)?; let min = NonZeroI16::new(i16::MIN)?; let max = NonZeroI16::new(i16::MAX)?; assert_eq!(pos, pos.wrapping_abs()); assert_eq!(pos, neg.wrapping_abs()); assert_eq!(min, min.wrapping_abs());Run
在没有任何包装或 panicking 的情况下计算 self 的绝对值。
Example
#![feature(nonzero_ops)] let u_pos = NonZeroU16::new(1)?; let i_pos = NonZeroI16::new(1)?; let i_neg = NonZeroI16::new(-1)?; let i_min = NonZeroI16::new(i16::MIN)?; let u_max = NonZeroU16::new(u16::MAX / 2 + 1)?; assert_eq!(u_pos, i_pos.unsigned_abs()); assert_eq!(u_pos, i_neg.unsigned_abs()); assert_eq!(u_max, i_min.unsigned_abs());Run
Trait Implementations
type Output = NonZeroI16
type Output = NonZeroI16
应用 |
运算符后的结果类型。
执行 |
操作。 Read more
type Output = NonZeroI16
type Output = NonZeroI16
应用 |
运算符后的结果类型。
执行 |
操作。 Read more
type Output = NonZeroI16
type Output = NonZeroI16
应用 |
运算符后的结果类型。
执行 |=
操作。 Read more
执行 |=
操作。 Read more
Converts a NonZeroI16
into an i16
Converts NonZeroI16
to NonZeroI32
losslessly.
Converts NonZeroI16
to NonZeroI64
losslessly.
Converts NonZeroI16
to NonZeroI128
losslessly.
Converts NonZeroI16
to NonZeroIsize
losslessly.
Converts NonZeroI8
to NonZeroI16
losslessly.
Converts NonZeroU8
to NonZeroI16
losslessly.
type Err = ParseIntError
type Err = ParseIntError
可以从解析中返回的相关错误。
解析字符串 s
以返回此类型的值。 Read more
此方法测试 self
和 other
值是否相等,并由 ==
使用。 Read more
此方法测试 !=
。
pub fn try_from(
value: NonZeroI128
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI128>>::Error>
[src]
pub fn try_from(
value: NonZeroI128
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI128>>::Error>
[src]Attempts to convert NonZeroI128
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU32, <NonZeroU32 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU32, <NonZeroU32 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroU32
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroI8, <NonZeroI8 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroI8, <NonZeroI8 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroI8
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroUsize, <NonZeroUsize as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroUsize, <NonZeroUsize as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroUsize
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU128, <NonZeroU128 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU128, <NonZeroU128 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroU128
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU64, <NonZeroU64 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU64, <NonZeroU64 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroU64
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU8, <NonZeroU8 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU8, <NonZeroU8 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroU8
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU16, <NonZeroU16 as TryFrom<NonZeroI16>>::Error>
[src]
pub fn try_from(
value: NonZeroI16
) -> Result<NonZeroU16, <NonZeroU16 as TryFrom<NonZeroI16>>::Error>
[src]Attempts to convert NonZeroI16
to NonZeroU16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI32
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI32>>::Error>
[src]
pub fn try_from(
value: NonZeroI32
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI32>>::Error>
[src]Attempts to convert NonZeroI32
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroI64
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI64>>::Error>
[src]
pub fn try_from(
value: NonZeroI64
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroI64>>::Error>
[src]Attempts to convert NonZeroI64
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroIsize
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroIsize>>::Error>
[src]
pub fn try_from(
value: NonZeroIsize
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroIsize>>::Error>
[src]Attempts to convert NonZeroIsize
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroU128
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU128>>::Error>
[src]
pub fn try_from(
value: NonZeroU128
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU128>>::Error>
[src]Attempts to convert NonZeroU128
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroU16
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU16>>::Error>
[src]
pub fn try_from(
value: NonZeroU16
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU16>>::Error>
[src]Attempts to convert NonZeroU16
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroU32
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU32>>::Error>
[src]
pub fn try_from(
value: NonZeroU32
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU32>>::Error>
[src]Attempts to convert NonZeroU32
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroU64
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU64>>::Error>
[src]
pub fn try_from(
value: NonZeroU64
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroU64>>::Error>
[src]Attempts to convert NonZeroU64
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
pub fn try_from(
value: NonZeroUsize
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroUsize>>::Error>
[src]
pub fn try_from(
value: NonZeroUsize
) -> Result<NonZeroI16, <NonZeroI16 as TryFrom<NonZeroUsize>>::Error>
[src]Attempts to convert NonZeroUsize
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。
Attempts to convert i16
to NonZeroI16
.
type Error = TryFromIntError
type Error = TryFromIntError
发生转换错误时返回的类型。