pub struct MemoryAliasDetector { /* private fields */ }Expand description
Memory aliasing detector for safe zero-copy operations
Implementations§
Source§impl MemoryAliasDetector
impl MemoryAliasDetector
Sourcepub fn check_alias(&self, buffer_id: usize, offset: usize, size: usize) -> bool
pub fn check_alias(&self, buffer_id: usize, offset: usize, size: usize) -> bool
Check if a new view would create an alias
Sourcepub fn register_view(&self, buffer_id: usize, offset: usize, size: usize)
pub fn register_view(&self, buffer_id: usize, offset: usize, size: usize)
Register a new view
Sourcepub fn unregister_view(&self, buffer_id: usize, offset: usize, size: usize)
pub fn unregister_view(&self, buffer_id: usize, offset: usize, size: usize)
Unregister a view
Sourcepub fn get_alias_info(
&self,
buffer_id: usize,
offset: usize,
size: usize,
) -> Vec<(usize, usize, usize)>
pub fn get_alias_info( &self, buffer_id: usize, offset: usize, size: usize, ) -> Vec<(usize, usize, usize)>
Get detailed information about potential aliases for a memory region
Sourcepub fn check_partial_alias(
&self,
buffer_id: usize,
offset: usize,
size: usize,
) -> bool
pub fn check_partial_alias( &self, buffer_id: usize, offset: usize, size: usize, ) -> bool
Check if a memory region would create partial aliases (useful for optimization decisions)
Sourcepub fn get_alias_statistics(&self) -> (usize, usize)
pub fn get_alias_statistics(&self) -> (usize, usize)
Get statistics about active memory views
Trait Implementations§
Source§impl Debug for MemoryAliasDetector
impl Debug for MemoryAliasDetector
Auto Trait Implementations§
impl Freeze for MemoryAliasDetector
impl RefUnwindSafe for MemoryAliasDetector
impl Send for MemoryAliasDetector
impl Sync for MemoryAliasDetector
impl Unpin for MemoryAliasDetector
impl UnsafeUnpin for MemoryAliasDetector
impl UnwindSafe for MemoryAliasDetector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more