o3 0.21.1

shared-nothing primitives
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::depot::index::{
    bitmap,
    bitmap::entry::{Removed, Row},
};

/// One set bit kept unchanged by an exclusive borrow of its source.
pub struct Occupied;

impl<'a, W: bitmap::Width, S: crate::depot::raw::Bitmap<W>> Row<&'a mut S, S::Plane, Occupied, W> {
    pub fn remove(self) -> Row<&'a mut S, S::Plane, Removed, W> {
        let row: Row<_, _, (), W> = self.with_phase();
        row.update::<false>(row.plane());
        row.with_phase()
    }
}