pub struct BubbleSortValidator;
Expand description
An O(n^2) algorithm to check for overlapping memory reservations. This is not a problem in practice because the number of memory reservations is expected to be small (typically 1 or 2).
Any O(n log n) algorithm would require additional memory allocations, which is not possible in a no-std environment without a dependency on an allocator.
Up until ~8 entries, the O(n^2) algorithm is not much worse than the O(n log n) one, and has all the chances to be twice as worse for ~16 entries.
Trait Implementations§
Source§impl MemoryReservationValidator for BubbleSortValidator
impl MemoryReservationValidator for BubbleSortValidator
Source§fn validate_memory_reservations(
memory_reservations: &[ReserveEntry],
) -> Result<(), Error>
fn validate_memory_reservations( memory_reservations: &[ReserveEntry], ) -> Result<(), Error>
Validate memory reservations.
Auto Trait Implementations§
impl Freeze for BubbleSortValidator
impl RefUnwindSafe for BubbleSortValidator
impl Send for BubbleSortValidator
impl Sync for BubbleSortValidator
impl Unpin for BubbleSortValidator
impl UnwindSafe for BubbleSortValidator
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