pub trait Search {
// Required methods
fn search<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>;
fn rsearch<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>;
fn search_indices<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> SearchIndices<'a, P> ⓘ;
fn rsearch_indices<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> RevSearchIndices<'a, P> ⓘ;
fn includes<'a, P: SearchIn<'a>>(&'a self, needle: P) -> bool;
fn search_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> Option<usize>;
fn rsearch_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> Option<usize>;
fn search_indices_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> SearchIndicesIgnoreAsciiCase<'a, P> ⓘ;
fn rsearch_indices_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> RevSearchIndicesIgnoreAsciiCase<'a, P> ⓘ;
fn includes_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> bool;
}Expand description
search the needle
Required Methods§
Sourcefn search<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>
fn search<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>
search the needle in self.
return index of self, if it found the needle. Otherwise return None.
Sourcefn rsearch<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>
fn rsearch<'a, P: SearchIn<'a>>(&'a self, needle: P) -> Option<usize>
reverse search the needle in self.
return index of self, if it found the needle. Otherwise return None.
Sourcefn search_indices<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> SearchIndices<'a, P> ⓘ
fn search_indices<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> SearchIndices<'a, P> ⓘ
An iterator over the matches of needle in self.
Examples
use naive_opt::Search;
let v: Vec<_> = "abc345abc901abc".search_indices("abc").collect();
assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);
let v: Vec<_> = "0abcabc7".search_indices("abc").collect();
assert_eq!(v, [(1, "abc"), (4, "abc")]);
let v: Vec<_> = "ababa".search_indices("aba").collect();
assert_eq!(v, [(0, "aba")]); // only the first `aba`Sourcefn rsearch_indices<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> RevSearchIndices<'a, P> ⓘ
fn rsearch_indices<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> RevSearchIndices<'a, P> ⓘ
An reverse search iterator over the matches of needle in self.
Examples
use naive_opt::Search;
let v: Vec<_> = "abc345abc901abc".rsearch_indices("abc").collect();
assert_eq!(v, [(12, "abc"), (6, "abc"), (0, "abc")]);
let v: Vec<_> = "0abcabc7".rsearch_indices("abc").collect();
assert_eq!(v, [(4, "abc"), (1, "abc")]);
let v: Vec<_> = "ababa".rsearch_indices("aba").collect();
assert_eq!(v, [(2, "aba")]); // only the last `aba`Sourcefn includes<'a, P: SearchIn<'a>>(&'a self, needle: P) -> bool
fn includes<'a, P: SearchIn<'a>>(&'a self, needle: P) -> bool
includes the needle in self.
returns true if the given pattern matches a sub-slice of this string slice. returns false if it does not.
Sourcefn search_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> Option<usize>
fn search_ignore_ascii_case<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> Option<usize>
search the needle in self, ignore ascii case.
return index of self, if it found the needle. Otherwise return None.
Sourcefn rsearch_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> Option<usize>
fn rsearch_ignore_ascii_case<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> Option<usize>
reverse search the needle in self, ignore ascii case.
return index of self, if it found the needle. Otherwise return None.
Sourcefn search_indices_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> SearchIndicesIgnoreAsciiCase<'a, P> ⓘ
fn search_indices_ignore_ascii_case<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> SearchIndicesIgnoreAsciiCase<'a, P> ⓘ
An iterator over the matches of needle in self, ignore ascii case.
Sourcefn rsearch_indices_ignore_ascii_case<'a, P: SearchIn<'a>>(
&'a self,
needle: P,
) -> RevSearchIndicesIgnoreAsciiCase<'a, P> ⓘ
fn rsearch_indices_ignore_ascii_case<'a, P: SearchIn<'a>>( &'a self, needle: P, ) -> RevSearchIndicesIgnoreAsciiCase<'a, P> ⓘ
An reverse search iterator over the matches of needle in self, ignore ascii case.
Sourcefn includes_ignore_ascii_case<'a, P: SearchIn<'a>>(&'a self, needle: P) -> bool
fn includes_ignore_ascii_case<'a, P: SearchIn<'a>>(&'a self, needle: P) -> bool
includes the needle in self, ignore ascii case.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.