1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
pub mod bloom;
pub mod hierarchical;
pub mod range;
pub mod traits;
use super::prelude::*;
pub use bloom::*;
pub use hierarchical::*;
pub use range::*;
use std::ops::Add;
pub use traits::*;
#[derive(PartialEq, Eq, Debug)]
pub enum FilterResult {
NeedAdditionalCheck,
NotContains,
}
impl Default for FilterResult {
fn default() -> Self {
Self::NeedAdditionalCheck
}
}
impl Add for FilterResult {
type Output = Self;
fn add(self, rhs: Self) -> Self::Output {
match (self, rhs) {
(FilterResult::NotContains, FilterResult::NotContains) => FilterResult::NotContains,
_ => FilterResult::NeedAdditionalCheck,
}
}
}