pub(crate) struct Group(__m128i);
Expand description
Abstraction over a group of control bytes which can be scanned in parallel.
This implementation uses a 128-bit SSE value.
Tuple Fields§
§0: __m128i
Implementations§
source§impl Group
impl Group
sourcepub(crate) const fn static_empty() -> &'static [u8; 16]
pub(crate) const fn static_empty() -> &'static [u8; 16]
Returns a full group of empty bytes, suitable for use as the initial value for an empty hash table.
This is guaranteed to be aligned to the group size.
sourcepub(crate) unsafe fn load(ptr: *const u8) -> Self
pub(crate) unsafe fn load(ptr: *const u8) -> Self
Loads a group of bytes starting at the given address.
sourcepub(crate) unsafe fn load_aligned(ptr: *const u8) -> Self
pub(crate) unsafe fn load_aligned(ptr: *const u8) -> Self
Loads a group of bytes starting at the given address, which must be
aligned to mem::align_of::<Group>()
.
sourcepub(crate) unsafe fn store_aligned(self, ptr: *mut u8)
pub(crate) unsafe fn store_aligned(self, ptr: *mut u8)
Stores the group of bytes to the given address, which must be
aligned to mem::align_of::<Group>()
.
sourcepub(crate) fn match_byte(self, byte: u8) -> BitMask
pub(crate) fn match_byte(self, byte: u8) -> BitMask
Returns a BitMask
indicating all bytes in the group which have
the given value.
sourcepub(crate) fn match_empty(self) -> BitMask
pub(crate) fn match_empty(self) -> BitMask
Returns a BitMask
indicating all bytes in the group which are
EMPTY
.
sourcepub(crate) fn match_empty_or_deleted(self) -> BitMask
pub(crate) fn match_empty_or_deleted(self) -> BitMask
Returns a BitMask
indicating all bytes in the group which are
EMPTY
or DELETED
.
sourcepub(crate) fn match_full(&self) -> BitMask
pub(crate) fn match_full(&self) -> BitMask
Returns a BitMask
indicating all bytes in the group which are full.
sourcepub(crate) fn convert_special_to_empty_and_full_to_deleted(self) -> Self
pub(crate) fn convert_special_to_empty_and_full_to_deleted(self) -> Self
Performs the following transformation on all bytes in the group:
EMPTY => EMPTY
DELETED => EMPTY
FULL => DELETED