1c67d6573Sopenharmony_cipub use self::imp::*;
2c67d6573Sopenharmony_ci
3c67d6573Sopenharmony_ci#[cfg(feature = "perf-literal")]
4c67d6573Sopenharmony_cimod imp;
5c67d6573Sopenharmony_ci
6c67d6573Sopenharmony_ci#[allow(missing_docs)]
7c67d6573Sopenharmony_ci#[cfg(not(feature = "perf-literal"))]
8c67d6573Sopenharmony_cimod imp {
9c67d6573Sopenharmony_ci    use regex_syntax::hir::literal::Literals;
10c67d6573Sopenharmony_ci
11c67d6573Sopenharmony_ci    #[derive(Clone, Debug)]
12c67d6573Sopenharmony_ci    pub struct LiteralSearcher(());
13c67d6573Sopenharmony_ci
14c67d6573Sopenharmony_ci    impl LiteralSearcher {
15c67d6573Sopenharmony_ci        pub fn empty() -> Self {
16c67d6573Sopenharmony_ci            LiteralSearcher(())
17c67d6573Sopenharmony_ci        }
18c67d6573Sopenharmony_ci
19c67d6573Sopenharmony_ci        pub fn prefixes(_: Literals) -> Self {
20c67d6573Sopenharmony_ci            LiteralSearcher(())
21c67d6573Sopenharmony_ci        }
22c67d6573Sopenharmony_ci
23c67d6573Sopenharmony_ci        pub fn suffixes(_: Literals) -> Self {
24c67d6573Sopenharmony_ci            LiteralSearcher(())
25c67d6573Sopenharmony_ci        }
26c67d6573Sopenharmony_ci
27c67d6573Sopenharmony_ci        pub fn complete(&self) -> bool {
28c67d6573Sopenharmony_ci            false
29c67d6573Sopenharmony_ci        }
30c67d6573Sopenharmony_ci
31c67d6573Sopenharmony_ci        pub fn find(&self, _: &[u8]) -> Option<(usize, usize)> {
32c67d6573Sopenharmony_ci            unreachable!()
33c67d6573Sopenharmony_ci        }
34c67d6573Sopenharmony_ci
35c67d6573Sopenharmony_ci        pub fn find_start(&self, _: &[u8]) -> Option<(usize, usize)> {
36c67d6573Sopenharmony_ci            unreachable!()
37c67d6573Sopenharmony_ci        }
38c67d6573Sopenharmony_ci
39c67d6573Sopenharmony_ci        pub fn find_end(&self, _: &[u8]) -> Option<(usize, usize)> {
40c67d6573Sopenharmony_ci            unreachable!()
41c67d6573Sopenharmony_ci        }
42c67d6573Sopenharmony_ci
43c67d6573Sopenharmony_ci        pub fn is_empty(&self) -> bool {
44c67d6573Sopenharmony_ci            true
45c67d6573Sopenharmony_ci        }
46c67d6573Sopenharmony_ci
47c67d6573Sopenharmony_ci        pub fn len(&self) -> usize {
48c67d6573Sopenharmony_ci            0
49c67d6573Sopenharmony_ci        }
50c67d6573Sopenharmony_ci
51c67d6573Sopenharmony_ci        pub fn approximate_size(&self) -> usize {
52c67d6573Sopenharmony_ci            0
53c67d6573Sopenharmony_ci        }
54c67d6573Sopenharmony_ci    }
55c67d6573Sopenharmony_ci}
56