1#[cfg(not(all(feature = "std", target_arch = "x86_64")))]
2pub use crate::packed::teddy::fallback::{Builder, Teddy};
3#[cfg(all(feature = "std", target_arch = "x86_64"))]
4pub use crate::packed::teddy::{compile::Builder, runtime::Teddy};
5
6#[cfg(all(feature = "std", target_arch = "x86_64"))]
7mod compile;
8#[cfg(all(feature = "std", target_arch = "x86_64"))]
9mod runtime;
10
11#[cfg(not(all(feature = "std", target_arch = "x86_64")))]
12mod fallback {
13 use crate::{packed::pattern::Patterns, Match};
14
15 #[derive(Clone, Debug, Default)]
16 pub struct Builder(());
17
18 impl Builder {
19 pub fn new() -> Builder {
20 Builder(())
21 }
22
23 pub fn build(&self, _: &Patterns) -> Option<Teddy> {
24 None
25 }
26
27 pub fn fat(&mut self, _: Option<bool>) -> &mut Builder {
28 self
29 }
30
31 pub fn avx(&mut self, _: Option<bool>) -> &mut Builder {
32 self
33 }
34 }
35
36 #[derive(Clone, Debug)]
37 pub struct Teddy(());
38
39 impl Teddy {
40 pub fn find_at(
41 &self,
42 _: &Patterns,
43 _: &[u8],
44 _: usize,
45 ) -> Option<Match> {
46 None
47 }
48
49 pub fn minimum_len(&self) -> usize {
50 0
51 }
52
53 pub fn memory_usage(&self) -> usize {
54 0
55 }
56 }
57}
58