allen_intervals/relation/meets.rs
1/// Methods for checking for a "meets" relation between intervals.
2pub trait Meets<T>: Sized {
3 /// Returns `true` iff `self` meets `other.0.
4 ///
5 /// ```plain
6 /// self: ┌────────┐
7 /// other: └────────┘
8 /// ```
9 #[inline]
10 fn meets(&self, _other: &T) -> bool {
11 false
12 }
13
14 /// Returns `true` iff `self` is met by `other.0.
15 ///
16 /// ```plain
17 /// self: ┌────────┐
18 /// other: └────────┘
19 /// ```
20 #[inline]
21 fn is_met_by(&self, other: &T) -> bool
22 where
23 T: Meets<Self>,
24 {
25 other.meets(self)
26 }
27}