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