Rollup merge of #71097 - pickfire:pattern-docs, r=Dylan-DPC
Pattern docs https://doc.rust-lang.org/std/str/pattern/trait.Pattern.html#implementors
This commit is contained in:
commit
eb49f7fd74
2 changed files with 38 additions and 6 deletions
|
@ -1827,7 +1827,13 @@ impl<'a> Extend<Cow<'a, str>> for String {
|
|||
}
|
||||
}
|
||||
|
||||
/// A convenience impl that delegates to the impl for `&str`
|
||||
/// A convenience impl that delegates to the impl for `&str`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// assert_eq!(String::from("Hello world").find("world"), Some(6));
|
||||
/// ```
|
||||
#[unstable(
|
||||
feature = "pattern",
|
||||
reason = "API not fully fleshed out and ready to be stabilized",
|
||||
|
|
|
@ -451,7 +451,13 @@ unsafe impl<'a> ReverseSearcher<'a> for CharSearcher<'a> {
|
|||
|
||||
impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a> {}
|
||||
|
||||
/// Searches for chars that are equal to a given char
|
||||
/// Searches for chars that are equal to a given `char`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// assert_eq!("Hello world".find('o'), Some(4));
|
||||
/// ```
|
||||
impl<'a> Pattern<'a> for char {
|
||||
type Searcher = CharSearcher<'a>;
|
||||
|
||||
|
@ -696,7 +702,14 @@ unsafe impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b> {
|
|||
|
||||
impl<'a, 'b> DoubleEndedSearcher<'a> for CharSliceSearcher<'a, 'b> {}
|
||||
|
||||
/// Searches for chars that are equal to any of the chars in the array
|
||||
/// Searches for chars that are equal to any of the chars in the array.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// assert_eq!("Hello world".find(&['l', 'l'] as &[_]), Some(2));
|
||||
/// assert_eq!("Hello world".find(&['l', 'l'][..]), Some(2));
|
||||
/// ```
|
||||
impl<'a, 'b> Pattern<'a> for &'b [char] {
|
||||
pattern_methods!(CharSliceSearcher<'a, 'b>, MultiCharEqPattern, CharSliceSearcher);
|
||||
}
|
||||
|
@ -738,7 +751,14 @@ where
|
|||
|
||||
impl<'a, F> DoubleEndedSearcher<'a> for CharPredicateSearcher<'a, F> where F: FnMut(char) -> bool {}
|
||||
|
||||
/// Searches for chars that match the given predicate
|
||||
/// Searches for chars that match the given predicate.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// assert_eq!("Hello world".find(char::is_uppercase), Some(0));
|
||||
/// assert_eq!("Hello world".find(|c| "aeiou".contains(c)), Some(1));
|
||||
/// ```
|
||||
impl<'a, F> Pattern<'a> for F
|
||||
where
|
||||
F: FnMut(char) -> bool,
|
||||
|
@ -763,6 +783,12 @@ impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str {
|
|||
///
|
||||
/// Will handle the pattern `""` as returning empty matches at each character
|
||||
/// boundary.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// assert_eq!("Hello world".find("world"), Some(6));
|
||||
/// ```
|
||||
impl<'a, 'b> Pattern<'a> for &'b str {
|
||||
type Searcher = StrSearcher<'a, 'b>;
|
||||
|
||||
|
@ -771,7 +797,7 @@ impl<'a, 'b> Pattern<'a> for &'b str {
|
|||
StrSearcher::new(haystack, self)
|
||||
}
|
||||
|
||||
/// Checks whether the pattern matches at the front of the haystack
|
||||
/// Checks whether the pattern matches at the front of the haystack.
|
||||
#[inline]
|
||||
fn is_prefix_of(self, haystack: &'a str) -> bool {
|
||||
haystack.as_bytes().starts_with(self.as_bytes())
|
||||
|
@ -788,7 +814,7 @@ impl<'a, 'b> Pattern<'a> for &'b str {
|
|||
}
|
||||
}
|
||||
|
||||
/// Checks whether the pattern matches at the back of the haystack
|
||||
/// Checks whether the pattern matches at the back of the haystack.
|
||||
#[inline]
|
||||
fn is_suffix_of(self, haystack: &'a str) -> bool {
|
||||
haystack.as_bytes().ends_with(self.as_bytes())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue