Skip to main content

dope_core/driver/route/table/
current.rs

1use o3::depot::arena::slab::external::shared;
2
3use crate::driver::{route, route::table::Key};
4
5pub struct Current<'a, T, Tag: route::Tag>(
6    pub(in crate::driver::route) shared::Borrowed<'a, T, route::Epoch, Tag>,
7);
8
9impl<'a, T, Tag: route::Tag> Current<'a, T, Tag> {
10    pub fn key(&self) -> Key<Tag> {
11        Key::new(self.0.key())
12    }
13
14    pub fn get_mut(&mut self) -> &mut T {
15        self.0.get_mut()
16    }
17
18    pub fn take(self) -> T {
19        self.0.take()
20    }
21
22    pub fn discard(self) {
23        self.0.discard();
24    }
25}