Trait pow2::IntPow2

source ·
pub trait IntPow2: Sized {
    // Required methods
    fn from_pow2(p: Pow2) -> Self;
    fn is_aligned(self, p: Pow2) -> bool;
    fn align_down(self, p: Pow2) -> Self;
    fn align_up_unchecked(self, p: Pow2) -> Self;
    fn align_up(self, p: Pow2) -> Option<Self>;
}
Expand description

Integers and pointers that can be represented as powers of 2.

Required Methods§

source

fn from_pow2(p: Pow2) -> Self

Produces a value of Self from a power of 2.

source

fn is_aligned(self, p: Pow2) -> bool

Indicates whether a value of Self is a multiple of a given power of 2 (is aligned).

source

fn align_down(self, p: Pow2) -> Self

Returns the greatest multiple of p that is less than or equal to Self.

source

fn align_up_unchecked(self, p: Pow2) -> Self

Returns the smallest multiple of p is that is greater than or equal to Self.

source

fn align_up(self, p: Pow2) -> Option<Self>

Returns the smallest multiple of p is that is greater than or equal to Self, or None if the value cannot be represented in the range of Self.

Implementations on Foreign Types§

source§

impl IntPow2 for i16

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for i64

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for u32

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl<T> IntPow2 for *const T

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for u8

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl<T> IntPow2 for *mut T

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for u16

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for i32

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for isize

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for usize

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for i8

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for i128

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for u64

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

source§

impl IntPow2 for u128

source§

fn from_pow2(p: Pow2) -> Self

source§

fn is_aligned(self, p: Pow2) -> bool

source§

fn align_down(self, p: Pow2) -> Self

source§

fn align_up_unchecked(self, p: Pow2) -> Self

source§

fn align_up(self, p: Pow2) -> Option<Self>

Implementors§