Struct core::str::pattern::CharSearcher
source · pub struct CharSearcher<'a> {
haystack: &'a str,
finger: usize,
finger_back: usize,
needle: char,
utf8_size: usize,
utf8_encoded: [u8; 4],
}
🔬This is a nightly-only experimental API. (
pattern
#27721)Expand description
Associated type for <char as Pattern<'a>>::Searcher
.
Fields§
§haystack: &'a str
🔬This is a nightly-only experimental API. (
§pattern
#27721)finger: usize
🔬This is a nightly-only experimental API. (
pattern
#27721)finger
is the current byte index of the forward search.
Imagine that it exists before the byte at its index, i.e.
haystack[finger]
is the first byte of the slice we must inspect during
forward searching
finger_back: usize
🔬This is a nightly-only experimental API. (
pattern
#27721)finger_back
is the current byte index of the reverse search.
Imagine that it exists after the byte at its index, i.e.
haystack[finger_back - 1] is the last byte of the slice we must inspect during
forward searching (and thus the first byte to be inspected when calling next_back()).
needle: char
🔬This is a nightly-only experimental API. (
pattern
#27721)The character being searched for
utf8_size: usize
🔬This is a nightly-only experimental API. (
pattern
#27721)The number of bytes needle
takes up when encoded in utf8.
utf8_encoded: [u8; 4]
🔬This is a nightly-only experimental API. (
pattern
#27721)A utf8 encoded copy of the needle
Trait Implementations§
source§impl<'a> Clone for CharSearcher<'a>
impl<'a> Clone for CharSearcher<'a>
source§fn clone(&self) -> CharSearcher<'a>
fn clone(&self) -> CharSearcher<'a>
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 moresource§impl<'a> Debug for CharSearcher<'a>
impl<'a> Debug for CharSearcher<'a>
source§impl<'a> ReverseSearcher<'a> for CharSearcher<'a>
impl<'a> ReverseSearcher<'a> for CharSearcher<'a>
source§fn next_back(&mut self) -> SearchStep
fn next_back(&mut self) -> SearchStep
🔬This is a nightly-only experimental API. (
pattern
#27721)Performs the next search step starting from the back. Read more
source§fn next_match_back(&mut self) -> Option<(usize, usize)>
fn next_match_back(&mut self) -> Option<(usize, usize)>
🔬This is a nightly-only experimental API. (
pattern
#27721)Finds the next
Match
result.
See next_back()
.source§fn next_reject_back(&mut self) -> Option<(usize, usize)>
fn next_reject_back(&mut self) -> Option<(usize, usize)>
🔬This is a nightly-only experimental API. (
pattern
#27721)Finds the next
Reject
result.
See next_back()
.source§impl<'a> Searcher<'a> for CharSearcher<'a>
impl<'a> Searcher<'a> for CharSearcher<'a>
source§fn haystack(&self) -> &'a str
fn haystack(&self) -> &'a str
🔬This is a nightly-only experimental API. (
pattern
#27721)Getter for the underlying string to be searched in Read more
source§fn next(&mut self) -> SearchStep
fn next(&mut self) -> SearchStep
🔬This is a nightly-only experimental API. (
pattern
#27721)Performs the next search step starting from the front. Read more
impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a>
Auto Trait Implementations§
impl<'a> Freeze for CharSearcher<'a>
impl<'a> RefUnwindSafe for CharSearcher<'a>
impl<'a> Send for CharSearcher<'a>
impl<'a> Sync for CharSearcher<'a>
impl<'a> Unpin for CharSearcher<'a>
impl<'a> UnwindSafe for CharSearcher<'a>
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