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