Lines Matching refs:needle

103                 needle: Vec<u8>
105 proptests::matches_naive(false, &haystack, &needle, $fwd)
118 needle: Vec<u8>
120 proptests::matches_naive(true, &haystack, &needle, $rev)
190 needle: &'n N, in find_iter()
192 FindIter::new(haystack, Finder::new(needle)) in find_iter()
224 needle: &'n N, in rfind_iter()
226 FindRevIter::new(haystack, FinderRev::new(needle)) in rfind_iter()
257 pub fn find(haystack: &[u8], needle: &[u8]) -> Option<usize> { in find()
259 rabinkarp::find(haystack, needle) in find()
261 Finder::new(needle).find(haystack) in find()
294 pub fn rfind(haystack: &[u8], needle: &[u8]) -> Option<usize> { in rfind()
296 rabinkarp::rfind(haystack, needle) in rfind()
298 FinderRev::new(needle).rfind(haystack) in rfind()
342 self.pos = pos + core::cmp::max(1, self.finder.needle().len()); in next()
419 pub fn new<B: ?Sized + AsRef<[u8]>>(needle: &'n B) -> Finder<'n> { in new()
420 FinderBuilder::new().build_forward(needle) in new()
520 pub fn needle(&self) -> &[u8] { in needle() method
521 self.searcher.needle() in needle()
546 pub fn new<B: ?Sized + AsRef<[u8]>>(needle: &'n B) -> FinderRev<'n> { in new()
547 FinderBuilder::new().build_reverse(needle) in new()
651 pub fn needle(&self) -> &[u8] { in needle() method
652 self.searcher.needle() in needle()
676 needle: &'n B, in build_forward()
678 Finder { searcher: Searcher::new(self.config, needle.as_ref()) } in build_forward()
685 needle: &'n B, in build_reverse()
687 FinderRev { searcher: SearcherRev::new(needle.as_ref()) } in build_reverse()
712 needle: CowBytes<'n>, field
782 fn new(config: SearcherConfig, needle: &'n [u8]) -> Searcher<'n> { in new()
785 let ninfo = NeedleInfo::new(needle); in new()
787 prefilter::forward(&config.prefilter, &ninfo.rarebytes, needle); in new()
788 let kind = if needle.len() == 0 { in new()
790 } else if needle.len() == 1 { in new()
791 OneByte(needle[0]) in new()
792 } else if let Some(fwd) = x86::avx::Forward::new(&ninfo, needle) { in new()
794 } else if let Some(fwd) = x86::sse::Forward::new(&ninfo, needle) { in new()
797 TwoWay(twoway::Forward::new(needle)) in new()
799 Searcher { needle: CowBytes::new(needle), ninfo, prefn, kind } in new()
803 fn new(config: SearcherConfig, needle: &'n [u8]) -> Searcher<'n> { in new()
806 let ninfo = NeedleInfo::new(needle); in new()
808 prefilter::forward(&config.prefilter, &ninfo.rarebytes, needle); in new()
809 let kind = if needle.len() == 0 { in new()
811 } else if needle.len() == 1 { in new()
812 OneByte(needle[0]) in new()
814 TwoWay(twoway::Forward::new(needle)) in new()
816 Searcher { needle: CowBytes::new(needle), ninfo, prefn, kind } in new()
836 fn needle(&self) -> &[u8] { in needle() method
837 self.needle.as_slice() in needle()
861 needle: CowBytes::new(self.needle()), in as_ref()
890 needle: self.needle.into_owned(), in into_owned()
908 let needle = self.needle(); in find() localVariable
909 if haystack.len() < needle.len() { in find()
918 if rabinkarp::is_fast(haystack, needle) { in find()
919 rabinkarp::find_with(&self.ninfo.nhash, haystack, needle) in find()
921 self.find_tw(tw, state, haystack, needle) in find()
933 rabinkarp::find_with(&self.ninfo.nhash, haystack, needle) in find()
935 gs.find(haystack, needle) in find()
947 rabinkarp::find_with(&self.ninfo.nhash, haystack, needle) in find()
949 gs.find(haystack, needle) in find()
970 needle: &[u8], in find_tw()
980 return tw.find(Some(&mut pre), haystack, needle); in find_tw()
983 tw.find(None, haystack, needle) in find_tw()
988 pub(crate) fn new(needle: &[u8]) -> NeedleInfo { in new()
990 rarebytes: RareNeedleBytes::forward(needle), in new()
991 nhash: NeedleHash::forward(needle), in new()
1006 needle: CowBytes<'n>, field
1028 fn new(needle: &'n [u8]) -> SearcherRev<'n> { in new()
1031 let kind = if needle.len() == 0 { in new()
1033 } else if needle.len() == 1 { in new()
1034 OneByte(needle[0]) in new()
1036 TwoWay(twoway::Reverse::new(needle)) in new()
1039 needle: CowBytes::new(needle), in new()
1040 nhash: NeedleHash::reverse(needle), in new()
1045 fn needle(&self) -> &[u8] { in needle() method
1046 self.needle.as_slice() in needle()
1058 needle: CowBytes::new(self.needle()), in as_ref()
1074 needle: self.needle.into_owned(), in into_owned()
1087 let needle = self.needle(); in rfind() localVariable
1088 if haystack.len() < needle.len() { in rfind()
1097 if rabinkarp::is_fast(haystack, needle) { in rfind()
1098 rabinkarp::rfind_with(&self.nhash, haystack, needle) in rfind()
1100 tw.rfind(haystack, needle) in rfind()
1164 needle: &[u8], in matches_naive()
1168 naive_rfind(haystack, needle) == search(haystack, needle) in matches_naive()
1170 naive_find(haystack, needle) == search(haystack, needle) in matches_naive()
1175 fn naive_find(haystack: &[u8], needle: &[u8]) -> Option<usize> { in naive_find()
1176 if needle.is_empty() { in naive_find()
1178 } else if haystack.len() < needle.len() { in naive_find()
1181 for i in 0..(haystack.len() - needle.len() + 1) { in naive_find()
1182 if needle == &haystack[i..i + needle.len()] { in naive_find()
1190 fn naive_rfind(haystack: &[u8], needle: &[u8]) -> Option<usize> { in naive_rfind()
1191 if needle.is_empty() { in naive_rfind()
1193 } else if haystack.len() < needle.len() { in naive_rfind()
1196 for i in (0..(haystack.len() - needle.len() + 1)).rev() { in naive_rfind()
1197 if needle == &haystack[i..i + needle.len()] { in naive_rfind()
1264 for &(needle, haystack, expected_fwd, _) in SEARCH_TESTS { in run_search_tests_fwd()
1265 let (n, h) = (needle.as_bytes(), haystack.as_bytes()); in run_search_tests_fwd()
1284 for &(needle, haystack, _, expected_rev) in SEARCH_TESTS { in run_search_tests_rev()
1285 let (n, h) = (needle.as_bytes(), haystack.as_bytes()); in run_search_tests_rev()