pub struct HeapPermutator { /* private fields */ }Expand description
Permutator that uses an auxiliary heap buffer to ensure linear runtime.
Worst-case runtime is O(n), taking O(n) heap space in a reusable buffer.
The buffer we allocate uses exactly sizeof(usize) * data.len() bytes.
This is a decent permutator for large permutations.
Trait Implementations§
Source§impl Debug for HeapPermutator
impl Debug for HeapPermutator
Source§impl Default for HeapPermutator
impl Default for HeapPermutator
Source§fn default() -> HeapPermutator
fn default() -> HeapPermutator
Returns the “default value” for a type. Read more
Source§impl<T, P: ?Sized + Permutation> Permutator<T, P> for HeapPermutator
Available on crate feature heap-permutator only.
impl<T, P: ?Sized + Permutation> Permutator<T, P> for HeapPermutator
Available on crate feature
heap-permutator only.Auto Trait Implementations§
impl Freeze for HeapPermutator
impl RefUnwindSafe for HeapPermutator
impl Send for HeapPermutator
impl Sync for HeapPermutator
impl Unpin for HeapPermutator
impl UnsafeUnpin for HeapPermutator
impl UnwindSafe for HeapPermutator
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