pub trait Address:
CalcOps
+ AlignOps
+ UsizeConvert
+ Copy
+ Clone
+ PartialEq
+ PartialOrd
+ Eq
+ Ord {
Show 16 methods
// Provided methods
fn is_null(self) -> bool { ... }
fn null() -> Self { ... }
fn page_offset(self) -> usize { ... }
fn addr_diff(self, other: Self) -> isize { ... }
fn add<T>(self) -> Self { ... }
fn add_n<T>(self, n: usize) -> Self { ... }
fn add_by(self, offset: usize) -> Self { ... }
fn sub(self) -> Self { ... }
fn sub_n(self, n: usize) -> Self { ... }
fn sub_by(self, offset: usize) -> Self { ... }
fn step(&mut self) { ... }
fn step_n(&mut self, n: usize) { ... }
fn step_back(&mut self) { ... }
fn step_back_n(&mut self, n: usize) { ... }
fn step_by(&mut self, offset: usize) { ... }
fn step_back_by(&mut self, offset: usize) { ... }
}Expand description
§Address Trait
表示一个内存地址的 Trait。所有地址类型必须实现此 Trait。 它组合了算术运算 (CalcOps)、对齐操作 (AlignOps) 和 usize 转换 (UsizeConvert)。
Provided Methods§
Sourcefn page_offset(self) -> usize
fn page_offset(self) -> usize
获取地址在当前页内的偏移量。
Sourcefn step_back_n(&mut self, n: usize)
fn step_back_n(&mut self, n: usize)
将地址减去 n 个 Self 类型元素的大小 (原地修改)。
Sourcefn step_back_by(&mut self, offset: usize)
fn step_back_by(&mut self, offset: usize)
将地址减去给定的字节偏移量 (原地修改)。
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.