rstmt_core/intervals/
interval_base.rs1use super::RawQuality;
7
8pub type MajorInterval<T = isize> = IntervalBase<super::Major, T>;
9
10#[derive(Clone, Copy, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
11#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
12pub struct IntervalBase<Q, T = isize>
13where
14 Q: RawQuality,
15{
16 pub quality: Q,
18 pub steps: T,
20}
21
22#[derive(Clone, Copy, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
23#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
24pub struct ConstInterval<const N: isize, Q>
25where
26 Q: RawQuality,
27{
28 pub quality: Q,
30}