pub struct MembershipFilter { /* private fields */ }Expand description
Membership filter backed by a dense bitmap.
Implementations§
Source§impl MembershipFilter
impl MembershipFilter
Sourcepub fn new_include(vector_count: u64) -> Self
pub fn new_include(vector_count: u64) -> Self
Create a new include-mode filter with given capacity. All bits start clear.
Sourcepub fn new_exclude(vector_count: u64) -> Self
pub fn new_exclude(vector_count: u64) -> Self
Create a new exclude-mode filter with given capacity. All bits start clear.
Sourcepub fn contains(&self, vector_id: u64) -> bool
pub fn contains(&self, vector_id: u64) -> bool
Check if a vector ID is visible through this filter.
In Include mode: visible iff the bit is set. In Exclude mode: visible iff the bit is NOT set.
Sourcepub fn member_count(&self) -> u64
pub fn member_count(&self) -> u64
Number of set bits (members in the bitmap).
Sourcepub fn vector_count(&self) -> u64
pub fn vector_count(&self) -> u64
Total vector capacity.
Sourcepub fn mode(&self) -> FilterMode
pub fn mode(&self) -> FilterMode
Filter mode.
Sourcepub fn generation_id(&self) -> u32
pub fn generation_id(&self) -> u32
Generation ID.
Sourcepub fn bump_generation(&mut self)
pub fn bump_generation(&mut self)
Increment generation ID.
Sourcepub fn serialize(&self) -> Vec<u8> ⓘ
pub fn serialize(&self) -> Vec<u8> ⓘ
Serialize the bitmap to bytes (just the raw bitmap words).
Sourcepub fn deserialize(
data: &[u8],
header: &MembershipHeader,
) -> Result<Self, RvfError>
pub fn deserialize( data: &[u8], header: &MembershipHeader, ) -> Result<Self, RvfError>
Deserialize a MembershipFilter from bitmap bytes and a header.
Sourcepub fn to_header(&self) -> MembershipHeader
pub fn to_header(&self) -> MembershipHeader
Build a MembershipHeader for this filter.
Auto Trait Implementations§
impl Freeze for MembershipFilter
impl RefUnwindSafe for MembershipFilter
impl Send for MembershipFilter
impl Sync for MembershipFilter
impl Unpin for MembershipFilter
impl UnwindSafe for MembershipFilter
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