1use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout};
8
9#[derive(Clone, Debug, Default, Eq, FromBytes, Immutable, IntoBytes, KnownLayout, PartialEq)]
12#[repr(transparent)]
13pub struct ReadOnly<T>(pub T);
14
15#[derive(Clone, Debug, Default, Eq, FromBytes, Immutable, IntoBytes, KnownLayout, PartialEq)]
17#[repr(transparent)]
18pub struct ReadPure<T>(pub T);
19
20#[derive(Clone, Debug, Default, Eq, FromBytes, Immutable, IntoBytes, KnownLayout, PartialEq)]
22#[repr(transparent)]
23pub struct WriteOnly<T>(pub T);
24
25#[derive(Clone, Debug, Default, Eq, FromBytes, Immutable, IntoBytes, KnownLayout, PartialEq)]
28#[repr(transparent)]
29pub struct ReadWrite<T>(pub T);
30
31#[derive(Clone, Debug, Default, Eq, FromBytes, Immutable, IntoBytes, KnownLayout, PartialEq)]
34#[repr(transparent)]
35pub struct ReadPureWrite<T>(pub T);