typenum::marker_traits

Trait Integer

Source
pub trait Integer:
    Sealed
    + Copy
    + Default
    + 'static {
    const I8: i8;
    const I16: i16;
    const I32: i32;
    const I64: i64;
    const I128: i128;
    const ISIZE: isize;

    // Required methods
    fn to_i8() -> i8;
    fn to_i16() -> i16;
    fn to_i32() -> i32;
    fn to_i64() -> i64;
    fn to_i128() -> i128;
    fn to_isize() -> isize;
}
Expand description

The marker trait for compile time signed integers.

§Example

use typenum::{Integer, P3};

assert_eq!(P3::to_i32(), 3);
assert_eq!(P3::I32, 3);

Required Associated Constants§

Source

const I8: i8

Source

const I16: i16

Source

const I32: i32

Source

const I64: i64

Source

const I128: i128

Available on crate feature i128 only.
Source

const ISIZE: isize

Required Methods§

Source

fn to_i8() -> i8

Source

fn to_i16() -> i16

Source

fn to_i32() -> i32

Source

fn to_i64() -> i64

Source

fn to_i128() -> i128

Available on crate feature i128 only.
Source

fn to_isize() -> isize

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Integer for Z0

Source§

const I8: i8 = 0i8

Source§

const I16: i16 = 0i16

Source§

const I32: i32 = 0i32

Source§

const I64: i64 = 0i64

Source§

const I128: i128 = 0i128

Source§

const ISIZE: isize = 0isize

Source§

impl<U: Unsigned + NonZero> Integer for NInt<U>

Source§

impl<U: Unsigned + NonZero> Integer for PInt<U>

Source§

const I8: i8 = U::I8

Source§

const I16: i16 = U::I16

Source§

const I32: i32 = U::I32

Source§

const I64: i64 = U::I64

Source§

const I128: i128 = U::I128

Source§

const ISIZE: isize = U::ISIZE