struct TwoWaySearcher {
crit_pos: usize,
crit_pos_back: usize,
period: usize,
byteset: u64,
position: usize,
end: usize,
memory: usize,
memory_back: usize,
}
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)Expand description
The internal state of the two-way substring search algorithm.
Fieldsยง
ยงcrit_pos: usize
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)critical factorization index
crit_pos_back: usize
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)critical factorization index for reversed needle
period: usize
๐ฌThis is a nightly-only experimental API. (
ยงpattern
#27721)byteset: u64
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)byteset
is an extension (not part of the two way algorithm);
itโs a 64-bit โfingerprintโ where each set bit j
corresponds
to a (byte & 63) == j present in the needle.
position: usize
๐ฌThis is a nightly-only experimental API. (
ยงpattern
#27721)end: usize
๐ฌThis is a nightly-only experimental API. (
ยงpattern
#27721)memory: usize
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)index into needle before which we have already matched
memory_back: usize
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)index into needle after which we have already matched
Implementationsยง
Sourceยงimpl TwoWaySearcher
impl TwoWaySearcher
fn new(needle: &[u8], end: usize) -> TwoWaySearcher
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn byteset_create(bytes: &[u8]) -> u64
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn byteset_contains(&self, byte: u8) -> bool
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn next<S>(
&mut self,
haystack: &[u8],
needle: &[u8],
long_period: bool,
) -> S::Outputwhere
S: TwoWayStrategy,
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn next_back<S>(
&mut self,
haystack: &[u8],
needle: &[u8],
long_period: bool,
) -> S::Outputwhere
S: TwoWayStrategy,
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn maximal_suffix(arr: &[u8], order_greater: bool) -> (usize, usize)
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)fn reverse_maximal_suffix( arr: &[u8], known_period: usize, order_greater: bool, ) -> usize
๐ฌThis is a nightly-only experimental API. (
pattern
#27721)Trait Implementationsยง
Sourceยงimpl Clone for TwoWaySearcher
impl Clone for TwoWaySearcher
Sourceยงfn clone(&self) -> TwoWaySearcher
fn clone(&self) -> TwoWaySearcher
Returns a copy of the value. Read more
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementationsยง
impl Freeze for TwoWaySearcher
impl RefUnwindSafe for TwoWaySearcher
impl Send for TwoWaySearcher
impl Sync for TwoWaySearcher
impl Unpin for TwoWaySearcher
impl UnsafeUnpin for TwoWaySearcher
impl UnwindSafe for TwoWaySearcher
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
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Sourceยง#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
๐ฌThis is a nightly-only experimental API. (
sized_type_properties
)Sourceยง#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
๐ฌThis is a nightly-only experimental API. (
sized_type_properties
)Sourceยง#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
๐ฌThis is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more