pub trait Increment {
type Output;
unsafe fn inc(&self) -> Self::Output;
}
pub trait Decrement {
type Output;
unsafe fn dec(&self) -> Self::Output;
}
pub trait Indirection {
type Output;
unsafe fn indirection(&self) -> Self::Output;
}
pub trait Begin {
type Output;
unsafe fn begin(&self) -> Self::Output;
}
pub trait BeginMut {
type Output;
unsafe fn begin_mut(&self) -> Self::Output;
}
pub trait End {
type Output;
unsafe fn end(&self) -> Self::Output;
}
pub trait EndMut {
type Output;
unsafe fn end_mut(&self) -> Self::Output;
}