AlignOps

Trait AlignOps 

Source
pub trait AlignOps: UsizeConvert {
    // Provided methods
    fn is_aligned(self, alignment: usize) -> bool { ... }
    fn is_page_aligned(self) -> bool { ... }
    fn align_up(self, alignment: usize) -> Self { ... }
    fn align_down(self, alignment: usize) -> Self { ... }
    fn align_up_to_page(self) -> Self { ... }
    fn align_down_to_page(self) -> Self { ... }
}
Expand description

§AlignOps Trait

定义了地址对齐操作,例如检查对齐、向上对齐和向下对齐。

注意: 所有对齐操作都要求 alignment 是 2 的幂。

Provided Methods§

Source

fn is_aligned(self, alignment: usize) -> bool

检查地址是否已对齐到给定的对齐边界。

§参数
  • alignment: 对齐边界(必须是 2 的幂)。
Source

fn is_page_aligned(self) -> bool

检查地址是否已页对齐(对齐到 PAGE_SIZE)。

Source

fn align_up(self, alignment: usize) -> Self

将地址向上对齐到给定的对齐边界。

§参数
  • alignment: 对齐边界(必须是 2 的幂)。
Source

fn align_down(self, alignment: usize) -> Self

将地址向下对齐到给定的对齐边界。

§参数
  • alignment: 对齐边界(必须是 2 的幂)。
Source

fn align_up_to_page(self) -> Self

将地址向上对齐到页大小(PAGE_SIZE)。

Source

fn align_down_to_page(self) -> Self

将地址向下对齐到页大小(PAGE_SIZE)。

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§