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}