pub struct IntervalRules {
pub max_melodic_semitones: u8,
pub forbidden_melodic_semitones: Vec<u8>,
pub consonant_harmonic_classes: Vec<u8>,
pub perfect_harmonic_classes: Vec<u8>,
}Expand description
Interval constraints for melodic and simultaneous motion.
Fields§
§max_melodic_semitones: u8Largest allowed absolute melodic leap in semitones.
forbidden_melodic_semitones: Vec<u8>Explicitly forbidden absolute melodic intervals.
consonant_harmonic_classes: Vec<u8>Accepted harmonic interval classes in 0..=6.
perfect_harmonic_classes: Vec<u8>Harmonic classes treated as perfect for motion checks.
Trait Implementations§
Source§impl Clone for IntervalRules
impl Clone for IntervalRules
Source§fn clone(&self) -> IntervalRules
fn clone(&self) -> IntervalRules
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IntervalRules
impl Debug for IntervalRules
impl Eq for IntervalRules
Source§impl PartialEq for IntervalRules
impl PartialEq for IntervalRules
impl StructuralPartialEq for IntervalRules
Auto Trait Implementations§
impl Freeze for IntervalRules
impl RefUnwindSafe for IntervalRules
impl Send for IntervalRules
impl Sync for IntervalRules
impl Unpin for IntervalRules
impl UnsafeUnpin for IntervalRules
impl UnwindSafe for IntervalRules
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more