#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub(crate) struct VirtualAddress(*mut c_void);
impl Default for VirtualAddress
{
#[inline(always)]
fn default() -> Self
{
VirtualAddress(null_mut())
}
}
impl Into<*mut u8> for VirtualAddress
{
#[inline(always)]
fn into(self) -> *mut u8
{
self.0 as *mut u8
}
}
impl VirtualAddress
{
#[inline(always)]
pub(crate) fn is_not_null(self) -> bool
{
!self.0.is_null()
}
#[inline(always)]
pub(crate) fn add(self, offset: Size) -> VirtualAddress
{
Self(unsafe { self.0.add(offset.into()) })
}
}