pub enum OverlayCoverage {
Shared(Arc<RoaringBitmap>),
PerField(Vec<Arc<RoaringBitmap>>),
}Expand description
Which (physical offset, field) cells a DataOverlayFile provides values
for.
Bitmaps are parsed from their 32-bit Roaring encoding once when the fragment
is loaded and held behind an Arc so cloning a fragment is cheap; use
DataOverlayFile::coverage_for_field to obtain the one that applies to a
given field.
Variants§
A single bitmap that applies to every field in the overlay’s
data_file.fields (a dense / rectangular overlay): every covered offset
has a value for every field.
PerField(Vec<Arc<RoaringBitmap>>)
One bitmap per field, in the same order as the overlay’s
data_file.fields (a sparse overlay): different fields may cover
different offset sets.
Implementations§
Source§impl OverlayCoverage
impl OverlayCoverage
Sourcepub fn dense(bitmap: RoaringBitmap) -> Self
pub fn dense(bitmap: RoaringBitmap) -> Self
Build a dense coverage from a single bitmap shared across every field.
Sourcepub fn sparse(bitmaps: Vec<RoaringBitmap>) -> Self
pub fn sparse(bitmaps: Vec<RoaringBitmap>) -> Self
Build a sparse coverage from one bitmap per field.
Trait Implementations§
Source§impl Clone for OverlayCoverage
impl Clone for OverlayCoverage
Source§fn clone(&self) -> OverlayCoverage
fn clone(&self) -> OverlayCoverage
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 OverlayCoverage
impl Debug for OverlayCoverage
Source§impl DeepSizeOf for OverlayCoverage
impl DeepSizeOf for OverlayCoverage
fn deep_size_of_children(&self, context: &mut Context) -> usize
fn deep_size_of(&self) -> usize
Source§impl<'de> Deserialize<'de> for OverlayCoverage
impl<'de> Deserialize<'de> for OverlayCoverage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for OverlayCoverage
Source§impl PartialEq for OverlayCoverage
impl PartialEq for OverlayCoverage
Source§impl Serialize for OverlayCoverage
impl Serialize for OverlayCoverage
impl StructuralPartialEq for OverlayCoverage
Auto Trait Implementations§
impl Freeze for OverlayCoverage
impl RefUnwindSafe for OverlayCoverage
impl Send for OverlayCoverage
impl Sync for OverlayCoverage
impl Unpin for OverlayCoverage
impl UnsafeUnpin for OverlayCoverage
impl UnwindSafe for OverlayCoverage
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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