pub struct BlockPartition { /* private fields */ }Expand description
An ordered, exhaustive partition of source positions into non-empty blocks.
Applying a partition concatenates its blocks in declaration order. This is a validated structural spelling of an ordinal permutation, not a search or partition enumerator.
Implementations§
Source§impl BlockPartition
impl BlockPartition
Sourcepub fn try_new(
cardinality: usize,
blocks: Vec<Vec<usize>>,
) -> Result<Self, BlockPartitionError>
pub fn try_new( cardinality: usize, blocks: Vec<Vec<usize>>, ) -> Result<Self, BlockPartitionError>
Validates non-empty blocks that cover every source position exactly once.
Sourcepub fn contiguous(
block_lengths: Vec<usize>,
) -> Result<Self, BlockPartitionError>
pub fn contiguous( block_lengths: Vec<usize>, ) -> Result<Self, BlockPartitionError>
Builds contiguous blocks from positive block lengths.
Sourcepub fn cardinality(&self) -> usize
pub fn cardinality(&self) -> usize
Returns the number of source positions covered by the partition.
Sourcepub fn order_map(&self) -> &OrdinalMap
pub fn order_map(&self) -> &OrdinalMap
Returns the exact linearization map induced by the ordered blocks.
Trait Implementations§
Source§impl Clone for BlockPartition
impl Clone for BlockPartition
Source§fn clone(&self) -> BlockPartition
fn clone(&self) -> BlockPartition
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BlockPartition
impl Debug for BlockPartition
impl Eq for BlockPartition
Source§impl PartialEq for BlockPartition
impl PartialEq for BlockPartition
impl StructuralPartialEq for BlockPartition
Auto Trait Implementations§
impl Freeze for BlockPartition
impl RefUnwindSafe for BlockPartition
impl Send for BlockPartition
impl Sync for BlockPartition
impl Unpin for BlockPartition
impl UnsafeUnpin for BlockPartition
impl UnwindSafe for BlockPartition
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