is_matching/
is_matching.rs1use elyze::matcher::Match;
2use elyze::scanner::Scanner;
3
4struct Hello;
6
7impl Match<u8> for Hello {
9 fn is_matching(&self, data: &[u8]) -> (bool, usize) {
10 let pattern = b"hello";
12 (&data[..pattern.len()] == pattern, pattern.len())
14 }
15
16 fn size(&self) -> usize {
17 5
18 }
19}
20
21fn main() {
22 let mut scanner = Scanner::new(b"hello world");
23 let (found, size) = Hello.is_matching(scanner.remaining());
24 if !found {
25 println!("not found");
26 return;
27 }
28 let data = &scanner.remaining()[..size];
29 scanner.bump_by(size);
30 println!("found: {:?}", String::from_utf8_lossy(data));
31}