pub struct Groups {
pub sizes: Vec<usize>,
/* private fields */
}Expand description
Positions group by group, ascending within each group, with the number in each group. Each buffer holds whole groups. The two classes of a slice of two keys take a buffer each, which into_buffers hands over without a copy. Other groups share one buffer. Positions are u32s.
Fields§
§sizes: Vec<usize>The number of positions in each group.
Implementations§
Source§impl Groups
impl Groups
Sourcepub fn each(&self) -> impl Iterator<Item = &[u32]>
pub fn each(&self) -> impl Iterator<Item = &[u32]>
The positions of each group, one slice for each group in turn. An empty group gives an empty slice.
Sourcepub fn into_positions(self) -> Vec<u32>
pub fn into_positions(self) -> Vec<u32>
Every position, group by group, in one buffer. Groups that share a buffer hand it over.
Sourcepub fn into_buffers(self) -> Vec<Vec<u32>>
pub fn into_buffers(self) -> Vec<Vec<u32>>
The buffers of positions, without a copy: one for each class of a slice of two keys, or one holding every group.
Trait Implementations§
impl StructuralPartialEq for Groups
Auto Trait Implementations§
impl Forget for Groups
impl Freeze for Groups
impl RefUnwindSafe for Groups
impl Send for Groups
impl Sync for Groups
impl Unpin for Groups
impl UnsafeUnpin for Groups
impl UnwindSafe for Groups
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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