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
41
macro_rules! operators { ($t:ty) => {
impl<'a, T: $crate::groupable::Fragmentable> ::std::ops::Add<T> for $t {
type Output = $crate::groupable::logical_and_builder::LogicalAndBuilder;
fn add(self, rhs: T) -> $crate::groupable::logical_and_builder::LogicalAndBuilder {
$crate::groupable::logical_and_builder::LogicalAndBuilder::new(self.to_fragment(), rhs.to_fragment())
}
}
impl<'a, T: $crate::groupable::Fragmentable> ::std::ops::Sub<T> for $t {
type Output = $crate::groupable::logical_not_builder::LogicalNotBuilder;
fn sub(self, rhs: T) -> $crate::groupable::logical_not_builder::LogicalNotBuilder {
$crate::groupable::logical_not_builder::LogicalNotBuilder::new(self.to_fragment(), rhs.to_fragment())
}
}
impl<'a, T: $crate::groupable::Fragmentable> ::std::ops::BitOr<T> for $t {
type Output = $crate::groupable::logical_or_builder::LogicalOrBuilder;
fn bitor(self, rhs: T) -> $crate::groupable::logical_or_builder::LogicalOrBuilder {
$crate::groupable::logical_or_builder::LogicalOrBuilder::new(self.to_fragment(), rhs.to_fragment())
}
}
impl<'a, T: $crate::groupable::Groupable> ::std::ops::Rem<T> for $t {
type Output = $crate::groupable::group_builder::GroupBuilder;
fn rem(self, rhs: T) -> $crate::groupable::group_builder::GroupBuilder {
$crate::groupable::group_builder::GroupBuilder::new(self.to_fragment(), rhs.to_group())
}
}
} }