Trait BuddyCollection

Source
pub trait BuddyCollection: BuddyLine {
    // Required methods
    fn take_any(&mut self, align_order: usize) -> Option<usize>;
    fn put(&mut self, idx: usize) -> Option<usize>;
}
Expand description

伙伴集合。一组同阶的伙伴。

Required Methods§

Source

fn take_any(&mut self, align_order: usize) -> Option<usize>

提取任何一个满足 align_order 的内存块。

返回提取到的元素。若集合为空则无法提取,返回 None

Source

fn put(&mut self, idx: usize) -> Option<usize>

放入一个元素 idx

如果 idx 的伙伴元素存在,则两个元素都被提取并返回他们在上一层的序号。 否则 idx 被放入集合。

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§