str_utils/
ends_with_multiple.rs1pub trait EndsWithMultiple {
3 fn ends_with_multiple<S: AsRef<[u8]>>(&self, bs: &[S]) -> Option<usize>;
5}
6
7impl EndsWithMultiple for [u8] {
8 #[inline]
9 fn ends_with_multiple<S: AsRef<[u8]>>(&self, bs: &[S]) -> Option<usize> {
10 let a = self;
11
12 bs.iter().position(|b| a.ends_with(b.as_ref()))
13 }
14}
15
16impl EndsWithMultiple for str {
17 #[inline]
18 fn ends_with_multiple<S: AsRef<[u8]>>(&self, bs: &[S]) -> Option<usize> {
19 self.as_bytes().ends_with_multiple(bs)
20 }
21}