Skip to main content

kovan_queue/
utils.rs

1use cuneiform::cuneiform;
2use std::ops::{Deref, DerefMut};
3
4#[cuneiform]
5#[derive(Copy, Clone, Default, Debug)]
6pub struct CacheAligned<T> {
7    pub data: T,
8}
9
10impl<T> Deref for CacheAligned<T> {
11    type Target = T;
12
13    fn deref(&self) -> &T {
14        &self.data
15    }
16}
17
18impl<T> DerefMut for CacheAligned<T> {
19    fn deref_mut(&mut self) -> &mut T {
20        &mut self.data
21    }
22}
23
24impl<T> CacheAligned<T> {
25    pub fn new(t: T) -> Self {
26        Self { data: t }
27    }
28}