Lines Matching refs:needle

29         pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
30 memmem::find(haystack.as_bytes(), needle.as_bytes()).is_some()
34 needle: &str,
36 let finder = memmem::Finder::new(needle).into_owned();
42 needle: &'a str,
44 memmem::find_iter(haystack.as_bytes(), needle.as_bytes())
47 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
48 PrebuiltIter(memmem::Finder::new(needle).into_owned())
67 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
68 memmem::rfind(haystack.as_bytes(), needle.as_bytes()).is_some()
72 needle: &str,
74 let finder = memmem::FinderRev::new(needle).into_owned();
80 needle: &'a str,
82 memmem::rfind_iter(haystack.as_bytes(), needle.as_bytes())
85 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
86 PrebuiltIter(memmem::FinderRev::new(needle).into_owned())
115 fn finder(needle: &[u8]) -> memmem::Finder<'_> {
118 .build_forward(needle)
121 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
122 finder(needle.as_bytes()).find(haystack.as_bytes()).is_some()
126 needle: &str,
128 let finder = finder(needle.as_bytes()).into_owned();
134 needle: &'a str,
138 needle.as_bytes(),
143 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
144 PrebuiltIter(finder(needle.as_bytes()).into_owned())
165 fn finder(needle: &[u8]) -> memmem::FinderRev<'_> {
168 .build_reverse(needle)
171 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
172 finder(needle.as_bytes()).rfind(haystack.as_bytes()).is_some()
176 needle: &str,
178 let finder = finder(needle.as_bytes()).into_owned();
184 needle: &'a str,
188 needle.as_bytes(),
193 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
194 PrebuiltIter(finder(needle.as_bytes()).into_owned())
222 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
223 bstr::ByteSlice::find(haystack.as_bytes(), needle.as_bytes())
228 needle: &str,
230 let finder = bstr::Finder::new(needle).into_owned();
236 needle: &'a str,
238 bstr::ByteSlice::find_iter(haystack.as_bytes(), needle.as_bytes())
241 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
242 PrebuiltIter(bstr::Finder::new(needle).into_owned())
255 self.0.needle(),
263 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
264 bstr::ByteSlice::rfind(haystack.as_bytes(), needle.as_bytes())
269 needle: &str,
271 let finder = bstr::FinderReverse::new(needle).into_owned();
277 needle: &'a str,
279 bstr::ByteSlice::rfind_iter(haystack.as_bytes(), needle.as_bytes())
282 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
283 PrebuiltIter(bstr::FinderReverse::new(needle).into_owned())
296 self.0.needle(),
325 needle: &str,
327 let finder = regex::Regex::new(&regex::escape(needle)).unwrap();
340 pub(crate) fn prebuiltiter(needle: &str) -> PrebuiltIter {
341 PrebuiltIter(regex::Regex::new(&regex::escape(needle)).unwrap())
396 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
397 haystack.contains(needle)
408 needle: &'a str,
410 haystack.match_indices(needle).map(|(i, _)| i)
419 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
420 haystack.contains(needle)
431 needle: &'a str,
433 haystack.rmatch_indices(needle).map(|(i, _)| i)
457 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
458 twoway::find_bytes(haystack.as_bytes(), needle.as_bytes())
470 needle: &'a str,
474 needle.as_bytes(),
485 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
486 twoway::rfind_bytes(haystack.as_bytes(), needle.as_bytes())
498 needle: &'a str,
502 needle.as_bytes(),
524 /// needle and uses SIMD to check whether those two bytes occur in the haystack
542 /// search requires copying the needle into a fresh allocation. The memchr
543 /// crate avoids that problem by being generic over the needle: it can be owned
552 pub(crate) fn available(needle: &str) -> &'static [&'static str] {
554 // needle. Sheesh.
555 if !needle.is_empty() && is_x86_feature_detected!("avx2") {
563 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
567 let needle = needle.as_bytes();
571 let finder = sliceslice::x86::DynamicAvx2Searcher::new(needle);
577 needle: &str,
582 let needle = needle.as_bytes().to_vec();
586 let finder = sliceslice::x86::DynamicAvx2Searcher::new(needle);
704 needle: *const libc::c_void,
711 fn find(haystack: &[u8], needle: &[u8]) -> Option<usize> {
716 needle.as_ptr() as *const libc::c_void,
717 needle.len(),
727 pub(crate) fn oneshot(haystack: &str, needle: &str) -> bool {
728 find(haystack.as_bytes(), needle.as_bytes()).is_some()
739 needle: &'a str,
743 needle.as_bytes(),
802 /// Accepts a corpus and a needle and a routine that implements substring
807 /// The closure given takes two parameters: the corpus and needle, in that
811 needle: &'a [u8],
819 match find(&haystack[pos..], needle) {
823 // We always need to add at least 1, in case of an empty needle.
824 pos += i + std::cmp::max(1, needle.len());
834 needle: &'a [u8],
843 match rfind(&haystack[..end], needle) {
848 // empty needle.